GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — 3.12: "Python memory allocator called without holding the GIL" with `PyMem_Free` as `Py_AtExit` · Issue #105690 · python/cpython Closed Labels 3.12only security fixesonly security fixes3.13only security fixesonly security fixestype-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump DescriptionWhen importing PyQt6 with Python 3.12.0b2 (as well as on the current git 3.12, 0b305e8), it segfaults on exit. Program received signal SIGSEGV, Segmentation fault. 0x000055555572563a in _PyInterpreterState_GET () at ./Include/internal/pycore_pystate.h:126 126 return tstate->interp; (gdb) bt #0 0x000055555572563a in _PyInterpreterState_GET () at ./Include/internal/pycore_pystate.h:126 #1 get_state () at Objects/obmalloc.c:866 #2 _PyObject_Free (ctx=<optimized out>, p=0x555555d527a0) at Objects/obmalloc.c:1850 #3 _PyObject_Free (ctx=0x0, p=0x555555d527a0) at Objects/obmalloc.c:1843 #4 0x00007ffff75e5351 in finalise () at sip_core.c:1807 #5 0x0000555555835235 in call_ll_exitfuncs (runtime=0x555555ba6380 <_PyRuntime>) at Python/pylifecycle.c:3002 #6 Py_FinalizeEx () at Python/pylifecycle.c:1966 #7 0x0000555555838075 in Py_FinalizeEx () at Python/pylifecycle.c:1970 #8 0x00005555558693cf in Py_RunMain () at Modules/main.c:691 [...] A and aborts in: [...] #4 0x0000555555847cc2 in fatal_error_exit (status=<optimized out>) at Python/pylifecycle.c:2693 #5 0x000055555584957c in fatal_error (fd=2, header=header@entry=1, prefix=prefix@entry=0x55555591fa10 <__func__.3> "_PyMem_DebugFree", msg=msg@entry=0x5555559202d8 "Python memory allocator called without holding the GIL", status=status@entry=-1) at Python/pylifecycle.c:2874 #6 0x00005555558495e6 in _Py_FatalErrorFunc (func=func@entry=0x55555591fa10 <__func__.3> "_PyMem_DebugFree", msg=msg@entry=0x5555559202d8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:2890 #7 0x000055555573f9b3 in _PyMem_DebugCheckGIL (func=func@entry=0x55555591fa10 <__func__.3> "_PyMem_DebugFree") at Objects/obmalloc.c:2271 #8 0x000055555573fa30 in _PyMem_DebugFree (ctx=0x555555c024d0 <_PyRuntime+208>, ptr=0x555555dd67b0) at Objects/obmalloc.c:2295 #9 0x00005555557408e7 in PyMem_Free (ptr=<optimized out>) at Objects/obmalloc.c:732 #10 0x00007ffff74e5296 in sip_api_free (mem=<optimized out>) at sip_core.c:1905 #11 0x00007ffff74f529a in sipOMFinalise (om=om@entry=0x7ffff74ff820 <cppPyMap>) at sip_object_map.c:69 #12 0x00007ffff74e5351 in finalise () at sip_core.c:1807 #13 0x00005555558479d0 in call_ll_exitfuncs (runtime=runtime@entry=0x555555c02400 <_PyRuntime>) at Python/pylifecycle.c:3002 #14 0x0000555555849153 in Py_FinalizeEx () at Python/pylifecycle.c:1966 #15 0x0000555555875aa7 in Py_RunMain () at Modules/main.c:691 [...] To reproduce, It's unclear to me whether this is an intended/expected regression or not, given that the behavior of
So from what I understand, it sounds like this was "if it breaks, you got to keep both pieces" territory to begin with? However, I was able to bisect this to 6036c3e as part of #101161 ("Clarify GILState-related Code"), which in the commit message claims to be a refactor only:
Thus, I'm erring on the side of caution here, and decided to open an issue anyways - if this is something sip definitely shouldn't be doing that way, feel free to close! The relevant sip sources can be found on their Mercurial server or in the PyPI sdist ( Reacted by Kirill Podoprigora Activity
MetadataMetadataAssigneesLabels3.12only security fixesonly security fixes3.13only security fixesonly security fixestype-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump ProjectsMilestoneRelationshipsDevelopmentIssue actions |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |