STINNER Victor <[email protected]> added the comment:
Hum, _PyType_CheckConsistency() fails on the following assertion during Python
finalization:
ASSERT(type->tp_mro != NULL && PyTuple_Check(type->tp_mro));
Error:
---
/home/vstinner/prog/python/master/python: No module named asyncio.__main__;
'asyncio' is a package and cannot be directly executed
Objects/typeobject.c:149: _PyType_CheckConsistency: Assertion "(type->tp_mro !=
((void *)0) && ((((((PyObject*)(type->tp_mro))->ob_type))->tp_flags & ((1UL <<
26))) != 0))" failed
Enable tracemalloc to get the memory block allocation traceback
object : <enum 'AddressFamily'>
type : EnumMeta
refcount: 1
address : 0x9138f0
Fatal Python error: _PyObject_AssertFailed
Current thread 0x00007ffff7be8740 (most recent call first):
---
gdb traceback:
---
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7c0f895 in __GI_abort () at abort.c:79
#2 0x000000000055bf91 in fatal_error (prefix=0x0, msg=0x68a47d
"_PyObject_AssertFailed", status=-1) at Python/pylifecycle.c:2088
#3 0x000000000055bfbd in Py_FatalError (msg=0x68a47d "_PyObject_AssertFailed")
at Python/pylifecycle.c:2098
#4 0x000000000047be0f in _PyObject_AssertFailed (obj=<EnumMeta() at remote
0x9138f0>,
expr=0x68d720 "(type->tp_mro != ((void *)0) &&
((((((PyObject*)(type->tp_mro))->ob_type))->tp_flags & ((1UL << 26))) != 0))",
msg=0x0,
file=0x68d632 "Objects/typeobject.c", line=149, function=0x690ba0
<__func__.14343> "_PyType_CheckConsistency") at Objects/object.c:2197
#5 0x000000000048ebd8 in _PyType_CheckConsistency (type=0x9138f0) at
Objects/typeobject.c:149
#6 0x00000000004770a5 in _PyObject_CheckConsistency (op=<AddressFamily at
remote 0x7fffea7a0870>) at Objects/object.c:35
#7 0x000000000058de3c in gc_check_object (gc=0x7fffea7a0860) at
Modules/gcmodule.c:1280
#8 0x000000000058de90 in _PyGC_CheckAllObjets () at Modules/gcmodule.c:1290
#9 0x000000000058f4a0 in gc_check_object_debugger () at Modules/gcmodule.c:2007
#10 0x000000000058f7c7 in PyObject_GC_Del (op=0x7fffea7a27c0) at
Modules/gcmodule.c:2109
#11 0x0000000000467188 in dict_dealloc (mp=0x7fffea7a27c0) at
Objects/dictobject.c:1996
#12 0x000000000047be44 in _Py_Dealloc (op={}) at Objects/object.c:2212
#13 0x0000000000461cce in _Py_DECREF (filename=0x6855a0 "./Include/object.h",
lineno=533, op={}) at ./Include/object.h:470
#14 0x0000000000461d1c in _Py_XDECREF (op={}) at ./Include/object.h:533
#15 0x0000000000462fef in free_keys_object (keys=0x9120e0) at
Objects/dictobject.c:580
#16 0x000000000046284f in dictkeys_decref (dk=0x9120e0) at
Objects/dictobject.c:324
#17 0x00000000004664f2 in PyDict_Clear (op={}) at Objects/dictobject.c:1722
#18 0x00000000004969b8 in type_clear (type=0x911c50) at
Objects/typeobject.c:3637
#19 0x0000000000490d03 in subtype_clear (self=<EnumMeta() at remote 0x911c50>)
at Objects/typeobject.c:1118
#20 0x000000000058d390 in delete_garbage (collectable=0x7fffffffcef0,
old=0x7d2560 <_PyRuntime+416>) at Modules/gcmodule.c:931
#21 0x000000000058d833 in collect (generation=2, n_collected=0x0,
n_uncollectable=0x0, nofail=1) at Modules/gcmodule.c:1100
#22 0x000000000058f175 in _PyGC_CollectNoFail () at Modules/gcmodule.c:1915
#23 0x000000000054759c in PyImport_Cleanup () at Python/import.c:589
#24 0x000000000055a442 in Py_FinalizeEx () at Python/pylifecycle.c:1162
#25 0x000000000055c1e5 in Py_Exit (sts=1) at Python/pylifecycle.c:2188
#26 0x00000000005677fb in handle_system_exit () at Python/pythonrun.c:642
#27 0x0000000000567821 in PyErr_PrintEx (set_sys_last_vars=1) at
Python/pythonrun.c:652
#28 0x00000000005674c5 in PyErr_Print () at Python/pythonrun.c:548
#29 0x00000000004222f2 in pymain_run_module (modname=0x7db6d0 L"asyncio",
set_argv0=1) at Modules/main.c:566
#30 0x0000000000422ad6 in pymain_run_python (interp=0x7da350,
exitcode=0x7fffffffd254) at Modules/main.c:799
#31 0x0000000000422c6a in pymain_main (args=0x7fffffffd2a0) at
Modules/main.c:877
#32 0x0000000000422d4e in _Py_UnixMain (argc=3, argv=0x7fffffffd3c8) at
Modules/main.c:922
#33 0x0000000000420796 in main (argc=3, argv=0x7fffffffd3c8) at
./Programs/python.c:16
---
Maybe my assumption on tp_mro was wrong. I will remove the assertion.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue36389>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com