pypy3-7.1.0 doesn't build

Create issue
Issue #2984 resolved
Sven-Hendrik Haase created an issue

I'm the maintainer for pypy3 in Arch Linux and it doesn't appear to build. The release candidate did build. Log attached.

Comments (11)

  1. mattip

    Could you be more specific about which commit hash built and which didn't? That would help to pin down the problematic code. In 439f4942e2bd we added a test that fails on 32 bit but succeeds on 64 bit.

  2. Sven-Hendrik Haase reporter

    To be clear, this is 64 bit. Also, I don't really know which hashes as I get the sourceballs directly and I can't tell you exactly which one of those it was since you guys changed the content of the releases while keeping the name the same.

  3. Sven-Hendrik Haase reporter

    In Arch, we only ever build pypy using cpython so we don't have a cyclic dependency on ourselves so this should work.

  4. Ronan Lamy

    I think I now understand why there's a difference between pypy and CPython. It has to do with the order of the items in the effects set in rpython.jit.codewriter.effectinfo.effectinfo_from_writeanalyze.

    add_array() crashes when called on rpython.rlib.rutf8.UTF8_INDEX_STORAGE. However, if add_interiorfield() is called first, it raises the same exception, but swallows and ignores it while sticking an incomplete ArrayDescr in the cache (see rpython/jit/backend/llsupport/descr.py::get_array_descr()), which the following calls to add_array() or add_interiorfield() will pick up. On PyPy, the "array" effect is always last (because sets are ordered) but on CPython it may randomly come first.

    This weird behaviour of add_interiorfield() is apparently a hack added in ecf3b7cd79eb. Adding it to add_array() might fix translation, but the question is how comes that the bogus ArrayDescr doesn't cause any issues?

  5. Jingbei Li

    @svenstaro I'm not sure is this helpful but it can be built with python-3.7.2-3 on Arch. I've tested this by running extra-x86_64-build -- -I /var/cache/pacman/pkg/python-3.7.2-3-x86_64.pkg.tar.xz.

    This error only occurs with python-3.7.3-1.

  6. Alex Kashirin

    Assume the error has to do with the add_array and it's order for PyPy2-7.1.0

    > /root/builds/sources/pypy2/rpython/jit/codewriter/heaptracker.py(111)all_interiorfielddescrs()
    -> raise UnsupportedFieldExc("unexpected array(struct(struct))")
    Traceback (most recent call last):
      File "../../rpython/bin/rpython", line 20, in <module>
        main()
      File "/root/builds/sources/pypy2/rpython/translator/goal/translate.py", line 325, in main
        debug(True)
      File "/root/builds/sources/pypy2/rpython/translator/goal/translate.py", line 278, in debug
        pdb_plus_show.start(tb)
      File "/root/builds/sources/pypy2/rpython/translator/tool/pdbplus.py", line 442, in start
        fn(*args)
      File "/root/builds/sources/pypy2/rpython/translator/tool/pdbplus.py", line 25, in post_mortem
        self.interaction(t.tb_frame, t)
      File "/usr/local/lib/python2.7/pdb.py", line 210, in interaction
        self.cmdloop()
      File "/usr/local/lib/python2.7/cmd.py", line 109, in cmdloop
        self.preloop()
      File "/root/builds/sources/pypy2/rpython/translator/tool/pdbplus.py", line 29, in preloop
        raise NoTTY("Cannot start the debugger when stdout is captured.")
    rpython.translator.tool.pdbplus.NoTTY: Cannot start the debugger when stdout is captured.
    

    (debugger, it is not the issue to this)

    The translate and build commands are by https://github.com/kashirin-alex/environments-builder/blob/master/scripts/pypy2.sh#L16

    and to PyPy3 subject, There were no issues in making on Python3.8 by https://github.com/kashirin-alex/environments-builder/blob/master/scripts/pypy3.sh#L16

  7. Log in to comment