-
-
Notifications
You must be signed in to change notification settings - Fork 34.1k
Open
Labels
3.15new features, bugs and security fixesnew features, bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump
Description
Crash report
What happened?
Not even 3 hours since PEP 810 got merged, we already have a crash!
# a.py
lazy import b
def something():
b.hello()
something()# b.py
lazy import a
def hello():
print(a)Running a.py will result in the following crash:
Python/gc.c:533: visit_decref: Assertion "!_PyObject_IsFreed(op)" failed
Enable tracemalloc to get the memory block allocation traceback
object address : 0x7fcfb75797f0
object refcount : 2
object type : 0x55a7d0ea0140
object type name: dict
object repr : [1] 38419 segmentation fault (core dumped) /home/peter/develop/cpython/python a.py
Sometimes an ImportCycleError shows up before the crash as well:
Traceback (most recent call last):
File "/home/peter/develop/cpython/b.py", line 1, in <module>
lazy import a
ImportError: deferred import of 'a' raised an exception during resolution
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/peter/develop/cpython/a.py", line 6, in <module>
something()
~~~~~~~~~^^
File "/home/peter/develop/cpython/a.py", line 4, in something
b.hello()
~~~~~~~^^
File "/home/peter/develop/cpython/b.py", line 4, in hello
print(a)
^
File "/home/peter/develop/cpython/a.py", line 6, in <module>
something()
~~~~~~~~~^^
File "/home/peter/develop/cpython/a.py", line 4, in something
b.hello()
~~~~~~~^^
File "/home/peter/develop/cpython/b.py", line 4, in hello
print(a)
^
ImportCycleError: cannot import name 'a' (most likely due to a circular import)
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Output from running 'python -VV' on the command line:
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.15new features, bugs and security fixesnew features, bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump