Closed
Description
Crash report
What happened?
With these codes bellow, a NameError
will be raised as expected, but there will be a runtime crash when GC happens.
def xxx():
class MyComplex:
MyComplex
xxx()
Error logs:
Traceback (most recent call last):
File "C:\Users\xxxxx\Source\cpython\a.py", line 71, in <module>
xxx()
File "C:\Users\xxxxx\Source\cpython\a.py", line 66, in xxx
class MyComplex:
File "C:\Users\xxxxx\Source\cpython\a.py", line 67, in MyComplex
MyComplex
NameError: cannot access free variable 'MyComplex' where it is not associated with a value in enclosing scope. Did you mean: 'complex'?
C:\Users\xxxxx\Source\cpython\Objects\frameobject.c:889: _Py_NegativeRefcount: Assertion failed: object has negative ref count
<object at 00000150D0CDA990 is freed>
Fatal Python error: _PyObject_AssertFailed: _PyObject_AssertFailed
Python runtime state: finalizing (tstate=0x00007ffc567001f8)
Current thread 0x00003564 (most recent call first):
<no Python frame>
CPython versions tested on:
3.12, CPython main branch
Operating systems tested on:
No response
Output from running 'python -VV' on the command line:
No response