STINNER Victor <vstin...@python.org> added the comment:

If I the comment the following assertion in PyEval_EvalCodeEx():

assert ((((PyCodeObject *)_co)->co_flags & (CO_NEWLOCALS | CO_OPTIMIZED)) == 0);

The garbage collector fails while visiting builtins of the function with 
func_traverse(), at line:

   Py_VISIT(f->func_builtins);

I guess that the problem is that f->func_builtins doesn't hold a strong 
reference to builtins.


Error:

Modules/gcmodule.c:113: gc_decref: Assertion "gc_get_refs(g) > 0" failed: 
refcount is too small
Enable tracemalloc to get the memory block allocation traceback

object address  : 0x7fffea69d650
object refcount : 2265
object type     : 0x870e80
object type name: dict
object repr     : {'__name__': 'builtins', '__doc__': "Built-in functions, 
exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; 
Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <class 
'_frozen_importlib.BuiltinImporter'>, '__spec__': ModuleSpec(name='builtins', 
loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 
'__build_class__': <built-in function __build_class__>, '__import__': <built-in 
function __import__>, 'abs': <built-in function abs>, 'all': <built-in function 
all>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, ...}

Fatal Python error: _PyObject_AssertFailed: _PyObject_AssertFailed
Python runtime state: initialized

Current thread 0x00007ffff7c20740 (most recent call first):
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Symtab.py",
 line 339 in __init__
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Symtab.py",
 line 1953 in __init__
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Symtab.py",
 line 2066 in __init__
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Symtab.py",
 line 1549 in declare_c_class
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Nodes.py",
 line 4782 in analyse_declarations
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Nodes.py",
 line 431 in analyse_declarations
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/ModuleNode.py",
 line 124 in analyse_declarations
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/ParseTreeTransforms.py",
 line 1608 in visit_ModuleNode
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/ParseTreeTransforms.py",
 line 1598 in __call__
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Pipeline.py",
 line 335 in run
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Pipeline.py",
 line 355 in run_pipeline
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Main.py",
 line 515 in run_pipeline
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Compiler/Main.py",
 line 727 in compile_single
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Build/Dependencies.py",
 line 1208 in cythonize_one
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Build/Dependencies.py",
 line 1102 in cythonize
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Build/Cythonize.py",
 line 97 in cython_compile
  File 
"/home/vstinner/dev/numpy/env/lib/python3.10/site-packages/Cython/Build/Cythonize.py",
 line 223 in main
  File "/home/vstinner/dev/numpy/env/bin/cythonize", line 33 in <module>

Extension modules: Cython.Plex.Actions, Cython.Plex.Scanners, 
Cython.Compiler.Scanning, Cython.Tempita._tempita, Cython.Compiler.Visitor, 
Cython.Compiler.FlowControl (total: 6)

Program received signal SIGABRT, Aborted.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue43541>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to