Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Crash report
What happened?
The code below causes aSystemError on all tested Python versions in Windows and Linux. In a no-gil debug build of main, besides the expected abort, sometimes a segfault occurs.
fromthreadingimportThreadav=memoryview(b"something")av.release()alive= [Thread(target=av.release,args=('/bin/sh')),Thread(target=av.__iter__,args=())]forobjinalive:try:print('START',obj)obj.start()exceptException:pass
Common abort:
Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception setPython runtime state: initializedValueError: operation forbidden on released memoryview objectThe above exception was the direct cause of the following exception:SystemError: <method-wrapper '__iter__' of memoryview object at 0x200006a6050> returned a result with an exception setAbortedRare segfault:
Exception in thread Thread-1 (release):Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception setPython runtime state: initializedValueError: operation forbidden on released memoryview objectThe above exception was the direct cause of the following exception:SystemError: <method-wrapper '__iter__' of memoryview object at 0x200006a6050> returned a result with an exception setCurrent thread 0x00007f750b5d0640 (most recent call first): File "/home/danzin/projects/mycpython/Lib/threading.py", line 992 in run File "/home/danzin/projects/mycpython/Lib/threading.py", line 1041 in _bootstrap_inner File "/home/danzin/projects/mycpython/Lib/threading.py", line 1012 in _bootstrapThread 0x00007f750bdd5640 (most recent call first): File "<frozen importlib._bootstrap_external>", line 142 in _path_splitPython/traceback.c:979:18: runtime error: member access within misaligned address 0x000000000001 for type 'struct _PyInterpreterFrame', which requires 8 byte alignment0x000000000001: note: pointer points here<memory cannot be printed>Segmentation faultThe backtrace for the segfault is:
0x00005555564d6e71 in _PyFrame_GetCode (f=0x7ffff6bbcca8) at ./Include/internal/pycore_frame.h:83#1 PyUnstable_InterpreterFrame_GetLine ( frame=frame@entry=0x7ffff6bbcca8) at Python/frame.c:146#2 0x00005555565ffb1e in dump_frame (fd=fd@entry=2, frame=frame@entry=0x7ffff6bbcca8) at Python/traceback.c:905#3 0x00005555565fffcc in dump_traceback (fd=fd@entry=2, tstate=tstate@entry=0x555557130d20, write_header=write_header@entry=0) at Python/traceback.c:974#4 0x00005555566001e0 in _Py_DumpTracebackThreads ( fd=fd@entry=2, interp=<optimized out>, interp@entry=0x555557052280 <_PyRuntime+129152>, current_tstate=current_tstate@entry=0x5555571351d0) at Python/traceback.c:1090#5 0x00005555565888f1 in _Py_FatalError_DumpTracebacks ( fd=fd@entry=2, interp=interp@entry=0x555557052280 <_PyRuntime+129152>, tstate=tstate@entry=0x5555571351d0) at Python/pylifecycle.c:2937#6 0x000055555659b12b in fatal_error (fd=2, header=header@entry=1, prefix=prefix@entry=0x555556811220 <__func__.23>"_Py_CheckFunctionResult", msg=msg@entry=0x555556810c80"a function returned a result with an exception set", status=status@entry=-1) at Python/pylifecycle.c:3245#7 0x000055555659b2ca in _Py_FatalErrorFunc ( func=func@entry=0x555556811220 <__func__.23>"_Py_CheckFunctionResult", msg=msg@entry=0x555556810c80"a function returned a result with an exception set") at Python/pylifecycle.c:3286#8 0x0000555555ee822c in _Py_CheckFunctionResult ( tstate=tstate@entry=0x5555571351d0,result=result@entry=0x20004040130, where=where@entry=0x0) at Objects/call.c:65
Found using fusil by@vstinner.
CPython versions tested on:
3.11, 3.12, 3.13, CPython main branch
Operating systems tested on:
Linux, Windows
Output from running 'python -VV' on the command line:
No response