Hi guys. I am having a problem with a function called _copy_to_raw_memory() in the file rpython/jit/backend/llsupport/asmmemmgr.py. After building PyPy there is always a crash in this function. Here is a partial backtrace I captured:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x104100000)
frame #0: 0x0000000100c3a8b4 libpypy-c.dylib`pypy_g_InstrBuilder__copy_to_raw_memory + 268
* frame #1: 0x0000000100bfec98 libpypy-c.dylib`…
[View More]pypy_g_InstrBuilder_copy_to_raw_memory + 40
frame #2: 0x0000000100c3efd4 libpypy-c.dylib`pypy_g_InstrBuilder_materialize + 232
frame #3: 0x0000000100c047e4 libpypy-c.dylib`pypy_g_AssemblerARM64__build_failure_recovery + 1208
frame #4: 0x0000000100c3b5ec libpypy-c.dylib`pypy_g_BaseAssembler_setup_once + 80
frame #5: 0x0000000100d31668 libpypy-c.dylib`pypy_g_compile_and_run_once___rpython_jit_metainterp_ji_29 + 364
frame #6: 0x0000000100cd3ed4 libpypy-c.dylib`pypy_g_bound_reached__star_4_8 + 740
frame #7: 0x0000000100b66510 libpypy-c.dylib`pypy_g_portal_29 + 104
frame #8: 0x0000000100ca7804 libpypy-c.dylib`pypy_g_ll_portal_runner__pypy_objspace_std_typeobject_W_1 + 344
With the help of print() statements I was able to find the exact line that was causing the problem. It is this:
dst[j] = block.data[j]
I have tried printing the values for these variables but that doesn't compile. I can't be sure the two variables are set correctly. Using type() on these two variables also doesn't compile. Even comparing the two variables to None doesn't work. How can I figure out what is wrong with this code? Please let me know if you need more information. Thank you.
[View Less]
Tarballs for the second release candidate for PyPy 7.3.6, with
python2.7, python3.7 and python3.8 are available at
https://downloads.python.org/pypy/. The checksums are available at
https://www.pypy.org/checksums.html
Thanks to all who tried out rc1 and reported problems, and special
thanks to those who helped fix them via code, suggestions, or fixes to
other projects.
The release note is at
https://doc.pypy.org/en/latest/release-v7.3.6.html. Please take a look
and suggest improvements.…
[View More]
Changes since rc1:
- Bugs with venv were fixed for windows (now it copies python.exe) and
python3.8.
- The HPy backend was updated to 0.0.3
- For python3.8, the contents of the lib_pypy directory is now packaged
into the stdlib directory, there is no more separation. This simplifies
downstream packaging and brings us more in line with CPython.
- Issue 3555 about string formatting was fixed
- Issue 3463, about a bug in the PPC JIT code was fixed
- The _ssl cffi extension module uses a context manager to manage buffer
allocations
- Unboxed map dicts now round-trip data correctly
- Suggestions from syntax errors in python3.8 was restored after
mistakenly being deleted. This feature was backported from Python3.11 to
Python3.7 a while ago.
- Implement os.add_dll_directory for windows on python3.8 and change the
flags used in LoadLibraryEx accordingly.
- Fix the value of sysconfig.get_config_var('LDLIBRARY') for darwin
Please try it out.
Matti
[View Less]