This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Segfault when importing unittest module via C API
Type: crash Stage: resolved
Components: Versions: Python 3.8
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Use-after-free crash if multiple interpreters import asyncio module
View: 40294
Assigned To: Nosy List: The Comet, christian.heimes, shihai1991, stestagg, vstinner
Priority: normal Keywords:

Created on 2020-06-13 02:29 by The Comet, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (8)
msg371432 - (view) Author: The Comet (The Comet) Date: 2020-06-13 02:29
The following program will segfault the interpreter:

#include <Python.h>
int main() {
    Py_Initialize();
    PyRun_SimpleString("import unittest");
    Py_Finalize();

    Py_Initialize();
    PyRun_SimpleString("import unittest");  /* segfault here */
    Py_Finalize();
}

This only seems to happen with the unittest module. This is something that used to work but broke somewhere between python 3.7 and 3.8.

The code above can also be found on github as a cmake project for your convenience:
https://github.com/TheComet/python3.8-unittest-broken
msg371578 - (view) Author: Hai Shi (shihai1991) * (Python triager) Date: 2020-06-15 17:15
Thanks for your report. I am not catch this segfault in my python compiler. I test your example in:
Python 3.8.3 (v3.8.3:6f8c832)
Python 3.9.0b3 (v3.9.0b3-dirty:b484871)
Python 3.10.0a0 (heads/master-dirty:1c209e3)
msg371642 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2020-06-16 12:31
It would be helpful if you could provide a C stacktrace. I use gdb to create a stacktrace. You may have to install additional debug symbols.
msg371967 - (view) Author: Steve Stagg (stestagg) Date: 2020-06-20 22:06
I was able to reproduce, follows is the raw LLDB output, I don't think this fails on master, will try some bisecting:

* thread #1, name = 'runtest', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
    frame #0: 0x00007ffff7079ae7 _asyncio.cpython-38d-x86_64-linux-gnu.so`PyInit__asyncio [inlined] _Py_INCREF(op=0x0000000000000000) at object.h:459:18
   456 	static inline void _Py_INCREF(PyObject *op)
   457 	{
   458 	    _Py_INC_REFTOTAL;
-> 459 	    op->ob_refcnt++;
   460 	}
   461 	
   462 	#define Py_INCREF(op) _Py_INCREF(_PyObject_CAST(op))
(lldb) bt
* thread #1, name = 'runtest', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x00007ffff7079ae7 _asyncio.cpython-38d-x86_64-linux-gnu.so`PyInit__asyncio [inlined] _Py_INCREF(op=0x0000000000000000) at object.h:459:18
    frame #1: 0x00007ffff7079ad6 _asyncio.cpython-38d-x86_64-linux-gnu.so`PyInit__asyncio at _asynciomodule.c:3405
    frame #2: 0x0000555555720766 runtest`_PyImport_LoadDynamicModuleWithSpec(spec=0x00007ffff6e33780, fp=<unavailable>) at importdl.c:164:9
    frame #3: 0x000055555571e471 runtest`_imp_create_dynamic_impl(module=<unavailable>, spec=0x00007ffff6e33780, file=<unavailable>) at import.c:2220:11
    frame #4: 0x000055555571e60b runtest`_imp_create_dynamic(module=0x00007ffff76ec830, args=0x00007ffff6e336f8, nargs=1) at import.c.h:330:20
    frame #5: 0x0000555555645fbe runtest`cfunction_vectorcall_FASTCALL(func=0x00007ffff7753050, args=0x00007ffff6e336f8, nargsf=<unavailable>, kwnames=0x0000000000000000) at methodobject.c:421:24
    frame #6: 0x00005555556042ca runtest`PyVectorcall_Call(callable=0x00007ffff7753050, tuple=<unavailable>, kwargs=<unavailable>) at call.c:199:24
    frame #7: 0x0000555555604771 runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:774:12
    frame #8: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff7753050, callargs=0x00007ffff6e336e0, kwdict=0x00007ffff6e20ad0) at ceval.c:5007:9
    frame #9: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x00005555559fa330, throwflag=<unavailable>) at ceval.c:3559:22
    frame #10: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #11: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=2, kwnames=0x0000000000000000, kwargs=0x00007ffff76bf5b0, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #12: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #13: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00007ffff76bf5a0, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #14: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff79a0, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #15: 0x00005555556f834c runtest`_PyEval_EvalFrameDefault(f=0x00007ffff76bf410, throwflag=<unavailable>) at ceval.c:3469:23
    frame #16: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #17: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007ffff7fa63a0, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #18: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #19: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00007ffff7fa6390, callable=0x00007ffff76eaa50) at abstract.h:127:11
    frame #20: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff7b80, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #21: 0x00005555556f8296 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff7fa6210, throwflag=<unavailable>) at ceval.c:3486:23
    frame #22: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #23: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555a18ef8, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #24: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #25: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x0000555555a18ef0, callable=0x00007ffff77624b0) at abstract.h:127:11
    frame #26: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff7d68, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #27: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555a18d70, throwflag=<unavailable>) at ceval.c:3500:19
    frame #28: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #29: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555ad9088, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #30: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #31: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x0000555555ad9080, callable=0x00007ffff7762230) at abstract.h:127:11
    frame #32: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff7f48, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #33: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555ad8ed0, throwflag=<unavailable>) at ceval.c:3500:19
    frame #34: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #35: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555acca18, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #36: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #37: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x0000555555acca08, callable=0x00007ffff7671230) at abstract.h:127:11
    frame #38: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff8128, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #39: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555acc870, throwflag=<unavailable>) at ceval.c:3500:19
    frame #40: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #41: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007fffffff8250, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #42: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #43: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #44: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=2, args=0x00007fffffff8240, func=0x00007ffff7671190) at abstract.h:147
    frame #45: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671190, vargs=<unavailable>) at call.c:1186
    frame #46: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #47: 0x000055555571b710 runtest`import_find_and_load(abs_name=0x00007ffff6e07760) at import.c:1697:11
    frame #48: 0x000055555571f5ed runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff6e07760, globals=<unavailable>, locals=<unavailable>, fromlist=0x00007ffff6e07590, level=0) at import.c:1797:15
    frame #49: 0x00005555556e87ea runtest`import_name(tstate=0x000055555593f3c0, f=0x00005555559b5e00, name=0x00007ffff6e07760, fromlist=0x00007ffff6e07590, level=0x00005555558faf80) at ceval.c:5163:15
    frame #50: 0x00005555556f5f3b runtest`_PyEval_EvalFrameDefault(f=0x00005555559b5e00, throwflag=<unavailable>) at ceval.c:2993:19
    frame #51: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #52: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff6e34110, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #53: 0x00005555556ecf38 runtest`PyEval_EvalCodeEx(_co=<unavailable>, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=<unavailable>, kws=<unavailable>, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #54: 0x00005555556ecf66 runtest`PyEval_EvalCode(co=<unavailable>, globals=<unavailable>, locals=<unavailable>) at ceval.c:718:12
    frame #55: 0x00005555556e385b runtest`builtin_exec_impl(module=<unavailable>, source=0x00007ffff6e34110, globals=0x00007ffff6f1f470, locals=0x00007ffff6f1f470) at bltinmodule.c:1033:13
    frame #56: 0x00005555556e399e runtest`builtin_exec(module=0x00007ffff76d0a70, args=0x00007ffff6e18608, nargs=2) at bltinmodule.c.h:396:20
    frame #57: 0x0000555555645fbe runtest`cfunction_vectorcall_FASTCALL(func=0x00007ffff76d0830, args=0x00007ffff6e18608, nargsf=<unavailable>, kwnames=0x0000000000000000) at methodobject.c:421:24
    frame #58: 0x00005555556042ca runtest`PyVectorcall_Call(callable=0x00007ffff76d0830, tuple=<unavailable>, kwargs=<unavailable>) at call.c:199:24
    frame #59: 0x0000555555604771 runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:774:12
    frame #60: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff76d0830, callargs=0x00007ffff6e185f0, kwdict=0x00007ffff6e0fd10) at ceval.c:5007:9
    frame #61: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x0000555555992ff0, throwflag=<unavailable>) at ceval.c:3559:22
    frame #62: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #63: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=3, kwnames=0x0000000000000000, kwargs=0x00007ffff7540798, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #64: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #65: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775811, args=0x00007ffff7540780, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #66: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff8b90, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #67: 0x00005555556f834c runtest`_PyEval_EvalFrameDefault(f=0x00007ffff75405f0, throwflag=<unavailable>) at ceval.c:3469:23
    frame #68: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #69: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007ffff76d5de0, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #70: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #71: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00007ffff76d5dd0, callable=0x00007ffff7910370) at abstract.h:127:11
    frame #72: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff8d70, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #73: 0x00005555556f8296 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff76d5c50, throwflag=<unavailable>) at ceval.c:3486:23
    frame #74: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #75: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00005555559fc038, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #76: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #77: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x00005555559fc030, callable=0x00007ffff7762230) at abstract.h:127:11
    frame #78: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff8f58, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #79: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x00005555559fbe80, throwflag=<unavailable>) at ceval.c:3500:19
    frame #80: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #81: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555acb2f8, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #82: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #83: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x0000555555acb2e8, callable=0x00007ffff7671230) at abstract.h:127:11
    frame #84: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff9138, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #85: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555acb150, throwflag=<unavailable>) at ceval.c:3500:19
    frame #86: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #87: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007fffffff9260, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #88: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #89: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #90: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=2, args=0x00007fffffff9250, func=0x00007ffff7671190) at abstract.h:147
    frame #91: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671190, vargs=<unavailable>) at call.c:1186
    frame #92: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #93: 0x000055555571b710 runtest`import_find_and_load(abs_name=0x00007ffff74d5b80) at import.c:1697:11
    frame #94: 0x000055555571f5ed runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff74d5b80, globals=<unavailable>, locals=<unavailable>, fromlist=0x0000000000000000, level=0) at import.c:1797:15
    frame #95: 0x00005555556e2068 runtest`builtin___import__(self=<unavailable>, args=<unavailable>, kwds=<unavailable>) at bltinmodule.c:279:12
    frame #96: 0x0000555555601749 runtest`cfunction_call_varargs(func=0x00007ffff76d0fb0, args=0x00007ffff7822a00, kwargs=0x00007ffff76d3b30) at call.c:742:19
    frame #97: 0x000055555560477b runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:772:16
    frame #98: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff76d0fb0, callargs=0x00007ffff7822a00, kwdict=0x00007ffff76d3b30) at ceval.c:5007:9
    frame #99: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff6eb5220, throwflag=<unavailable>) at ceval.c:3559:22
    frame #100: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #101: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=2, kwnames=0x0000000000000000, kwargs=0x0000555555aa7908, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #102: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #103: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x0000555555aa78f8, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #104: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffff9858, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #105: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555aa7740, throwflag=<unavailable>) at ceval.c:3500:19
    frame #106: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #107: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff78ef450, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=3, kwnames=0x0000000000000000, kwargs=0x00007fffffff9a48, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x00007ffff777ab90, closure=0x0000000000000000, name=0x00007ffff7959700, qualname=0x00007ffff7959700) at ceval.c:4298:14
    frame #108: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #109: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #110: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=3, args=0x00007fffffff9a30, func=0x00007ffff7671410) at abstract.h:147
    frame #111: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671410, vargs=<unavailable>) at call.c:1186
    frame #112: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #113: 0x000055555571f97f runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff7fc7040, globals=<unavailable>, locals=<unavailable>, fromlist=0x00007ffff78bc820, level=1) at import.c:1869:25
    frame #114: 0x00005555556e87ea runtest`import_name(tstate=0x000055555593f3c0, f=0x00007ffff78e7410, name=0x00007ffff7fc7040, fromlist=0x00007ffff78bc820, level=0x00005555558fafa0) at ceval.c:5163:15
    frame #115: 0x00005555556f5f3b runtest`_PyEval_EvalFrameDefault(f=0x00007ffff78e7410, throwflag=<unavailable>) at ceval.c:2993:19
    frame #116: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #117: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff75f8c70, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #118: 0x00005555556ecf38 runtest`PyEval_EvalCodeEx(_co=<unavailable>, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=<unavailable>, kws=<unavailable>, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #119: 0x00005555556ecf66 runtest`PyEval_EvalCode(co=<unavailable>, globals=<unavailable>, locals=<unavailable>) at ceval.c:718:12
    frame #120: 0x00005555556e385b runtest`builtin_exec_impl(module=<unavailable>, source=0x00007ffff75f8c70, globals=0x00007ffff76d39b0, locals=0x00007ffff76d39b0) at bltinmodule.c:1033:13
    frame #121: 0x00005555556e399e runtest`builtin_exec(module=0x00007ffff76d0a70, args=0x00007ffff7822ba8, nargs=2) at bltinmodule.c.h:396:20
    frame #122: 0x0000555555645fbe runtest`cfunction_vectorcall_FASTCALL(func=0x00007ffff76d0830, args=0x00007ffff7822ba8, nargsf=<unavailable>, kwnames=0x0000000000000000) at methodobject.c:421:24
    frame #123: 0x00005555556042ca runtest`PyVectorcall_Call(callable=0x00007ffff76d0830, tuple=<unavailable>, kwargs=<unavailable>) at call.c:199:24
    frame #124: 0x0000555555604771 runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:774:12
    frame #125: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff76d0830, callargs=0x00007ffff7822b90, kwdict=0x00007ffff76d3a70) at ceval.c:5007:9
    frame #126: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff75fbb90, throwflag=<unavailable>) at ceval.c:3559:22
    frame #127: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #128: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=3, kwnames=0x0000000000000000, kwargs=0x00007ffff765a5f8, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #129: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #130: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775811, args=0x00007ffff765a5e0, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #131: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffa340, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #132: 0x00005555556f834c runtest`_PyEval_EvalFrameDefault(f=0x00007ffff765a450, throwflag=<unavailable>) at ceval.c:3469:23
    frame #133: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #134: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00005555559b0f00, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #135: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #136: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00005555559b0ef0, callable=0x00007ffff7910370) at abstract.h:127:11
    frame #137: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffa520, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #138: 0x00005555556f8296 runtest`_PyEval_EvalFrameDefault(f=0x00005555559b0d70, throwflag=<unavailable>) at ceval.c:3486:23
    frame #139: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #140: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555a18ce8, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #141: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #142: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x0000555555a18ce0, callable=0x00007ffff7762230) at abstract.h:127:11
    frame #143: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffa708, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #144: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555a18b30, throwflag=<unavailable>) at ceval.c:3500:19
    frame #145: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #146: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00005555559b0208, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #147: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #148: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00005555559b01f8, callable=0x00007ffff7671230) at abstract.h:127:11
    frame #149: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffa8e8, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #150: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x00005555559b0060, throwflag=<unavailable>) at ceval.c:3500:19
    frame #151: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #152: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007fffffffaa10, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #153: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #154: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #155: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=2, args=0x00007fffffffaa00, func=0x00007ffff7671190) at abstract.h:147
    frame #156: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671190, vargs=<unavailable>) at call.c:1186
    frame #157: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #158: 0x000055555571b710 runtest`import_find_and_load(abs_name=0x00007ffff77d54c0) at import.c:1697:11
    frame #159: 0x000055555571f5ed runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff77d56a0, globals=<unavailable>, locals=<unavailable>, fromlist=0x00007ffff78b7550, level=1) at import.c:1797:15
    frame #160: 0x00005555556e87ea runtest`import_name(tstate=0x000055555593f3c0, f=0x00007ffff75fb9b0, name=0x00007ffff77d56a0, fromlist=0x00007ffff78b7550, level=0x00005555558fafa0) at ceval.c:5163:15
    frame #161: 0x00005555556f5f3b runtest`_PyEval_EvalFrameDefault(f=0x00007ffff75fb9b0, throwflag=<unavailable>) at ceval.c:2993:19
    frame #162: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #163: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff76271e0, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #164: 0x00005555556ecf38 runtest`PyEval_EvalCodeEx(_co=<unavailable>, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=<unavailable>, kws=<unavailable>, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #165: 0x00005555556ecf66 runtest`PyEval_EvalCode(co=<unavailable>, globals=<unavailable>, locals=<unavailable>) at ceval.c:718:12
    frame #166: 0x00005555556e385b runtest`builtin_exec_impl(module=<unavailable>, source=0x00007ffff76271e0, globals=0x00007ffff77b9290, locals=0x00007ffff77b9290) at bltinmodule.c:1033:13
    frame #167: 0x00005555556e399e runtest`builtin_exec(module=0x00007ffff76d0a70, args=0x00007ffff770a9c8, nargs=2) at bltinmodule.c.h:396:20
    frame #168: 0x0000555555645fbe runtest`cfunction_vectorcall_FASTCALL(func=0x00007ffff76d0830, args=0x00007ffff770a9c8, nargsf=<unavailable>, kwnames=0x0000000000000000) at methodobject.c:421:24
    frame #169: 0x00005555556042ca runtest`PyVectorcall_Call(callable=0x00007ffff76d0830, tuple=<unavailable>, kwargs=<unavailable>) at call.c:199:24
    frame #170: 0x0000555555604771 runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:774:12
    frame #171: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff76d0830, callargs=0x00007ffff770a9b0, kwdict=0x00007ffff77d5b90) at ceval.c:5007:9
    frame #172: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff7663790, throwflag=<unavailable>) at ceval.c:3559:22
    frame #173: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #174: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=3, kwnames=0x0000000000000000, kwargs=0x00007ffff78e73d8, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #175: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #176: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775811, args=0x00007ffff78e73c0, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #177: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffb350, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #178: 0x00005555556f834c runtest`_PyEval_EvalFrameDefault(f=0x00007ffff78e7230, throwflag=<unavailable>) at ceval.c:3469:23
    frame #179: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #180: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007ffff789dde0, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #181: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #182: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00007ffff789ddd0, callable=0x00007ffff7910370) at abstract.h:127:11
    frame #183: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffb530, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #184: 0x00005555556f8296 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff789dc50, throwflag=<unavailable>) at ceval.c:3486:23
    frame #185: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #186: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555a7db08, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #187: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #188: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x0000555555a7db00, callable=0x00007ffff7762230) at abstract.h:127:11
    frame #189: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffb718, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #190: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555a7d950, throwflag=<unavailable>) at ceval.c:3500:19
    frame #191: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #192: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00005555559a69f8, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #193: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #194: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00005555559a69e8, callable=0x00007ffff7671230) at abstract.h:127:11
    frame #195: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffb8f8, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #196: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x00005555559a6850, throwflag=<unavailable>) at ceval.c:3500:19
    frame #197: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #198: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007fffffffba20, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #199: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #200: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #201: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=2, args=0x00007fffffffba10, func=0x00007ffff7671190) at abstract.h:147
    frame #202: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671190, vargs=<unavailable>) at call.c:1186
    frame #203: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #204: 0x000055555571b710 runtest`import_find_and_load(abs_name=0x00007ffff78b77c0) at import.c:1697:11
    frame #205: 0x000055555571f5ed runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff78b77c0, globals=<unavailable>, locals=<unavailable>, fromlist=0x00005555558d4380, level=0) at import.c:1797:15
    frame #206: 0x00005555556e87ea runtest`import_name(tstate=0x000055555593f3c0, f=0x00005555559dc6f0, name=0x00007ffff78b77c0, fromlist=0x00005555558d4380, level=0x00005555558faf80) at ceval.c:5163:15
    frame #207: 0x00005555556f5f3b runtest`_PyEval_EvalFrameDefault(f=0x00005555559dc6f0, throwflag=<unavailable>) at ceval.c:2993:19
    frame #208: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #209: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff76d86c0, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #210: 0x00005555556ecf38 runtest`PyEval_EvalCodeEx(_co=<unavailable>, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=<unavailable>, kws=<unavailable>, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #211: 0x00005555556ecf66 runtest`PyEval_EvalCode(co=<unavailable>, globals=<unavailable>, locals=<unavailable>) at ceval.c:718:12
    frame #212: 0x00005555556e385b runtest`builtin_exec_impl(module=<unavailable>, source=0x00007ffff76d86c0, globals=0x00007ffff6ed37d0, locals=0x00007ffff6ed37d0) at bltinmodule.c:1033:13
    frame #213: 0x00005555556e399e runtest`builtin_exec(module=0x00007ffff76d0a70, args=0x00007ffff770ac98, nargs=2) at bltinmodule.c.h:396:20
    frame #214: 0x0000555555645fbe runtest`cfunction_vectorcall_FASTCALL(func=0x00007ffff76d0830, args=0x00007ffff770ac98, nargsf=<unavailable>, kwnames=0x0000000000000000) at methodobject.c:421:24
    frame #215: 0x00005555556042ca runtest`PyVectorcall_Call(callable=0x00007ffff76d0830, tuple=<unavailable>, kwargs=<unavailable>) at call.c:199:24
    frame #216: 0x0000555555604771 runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:774:12
    frame #217: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff76d0830, callargs=0x00007ffff770ac80, kwdict=0x00007ffff77b9350) at ceval.c:5007:9
    frame #218: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x00005555559657c0, throwflag=<unavailable>) at ceval.c:3559:22
    frame #219: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #220: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=3, kwnames=0x0000000000000000, kwargs=0x00007ffff76e31f8, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #221: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #222: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775811, args=0x00007ffff76e31e0, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #223: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffc360, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #224: 0x00005555556f834c runtest`_PyEval_EvalFrameDefault(f=0x00007ffff76e3050, throwflag=<unavailable>) at ceval.c:3469:23
    frame #225: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #226: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007ffff77dc9e0, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #227: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #228: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00007ffff77dc9d0, callable=0x00007ffff7910370) at abstract.h:127:11
    frame #229: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffc540, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #230: 0x00005555556f8296 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff77dc850, throwflag=<unavailable>) at ceval.c:3486:23
    frame #231: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #232: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555a20108, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #233: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #234: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x0000555555a20100, callable=0x00007ffff7762230) at abstract.h:127:11
    frame #235: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffc728, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #236: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555a1ff50, throwflag=<unavailable>) at ceval.c:3500:19
    frame #237: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #238: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555a1fc48, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #239: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #240: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x0000555555a1fc38, callable=0x00007ffff7671230) at abstract.h:127:11
    frame #241: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffc908, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #242: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555a1faa0, throwflag=<unavailable>) at ceval.c:3500:19
    frame #243: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #244: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007fffffffca30, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #245: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #246: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #247: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=2, args=0x00007fffffffca20, func=0x00007ffff7671190) at abstract.h:147
    frame #248: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671190, vargs=<unavailable>) at call.c:1186
    frame #249: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #250: 0x000055555571b710 runtest`import_find_and_load(abs_name=0x00007ffff6ed3640) at import.c:1697:11
    frame #251: 0x000055555571f5ed runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff6ed3d60, globals=<unavailable>, locals=<unavailable>, fromlist=0x00007ffff7636b90, level=1) at import.c:1797:15
    frame #252: 0x00005555556e87ea runtest`import_name(tstate=0x000055555593f3c0, f=0x0000555555a226e0, name=0x00007ffff6ed3d60, fromlist=0x00007ffff7636b90, level=0x00005555558fafa0) at ceval.c:5163:15
    frame #253: 0x00005555556f5f3b runtest`_PyEval_EvalFrameDefault(f=0x0000555555a226e0, throwflag=<unavailable>) at ceval.c:2993:19
    frame #254: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #255: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7897ad0, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #256: 0x00005555556ecf38 runtest`PyEval_EvalCodeEx(_co=<unavailable>, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=<unavailable>, kws=<unavailable>, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #257: 0x00005555556ecf66 runtest`PyEval_EvalCode(co=<unavailable>, globals=<unavailable>, locals=<unavailable>) at ceval.c:718:12
    frame #258: 0x00005555556e385b runtest`builtin_exec_impl(module=<unavailable>, source=0x00007ffff7897ad0, globals=0x00007ffff787f0b0, locals=0x00007ffff787f0b0) at bltinmodule.c:1033:13
    frame #259: 0x00005555556e399e runtest`builtin_exec(module=0x00007ffff76d0a70, args=0x00007ffff774b1a8, nargs=2) at bltinmodule.c.h:396:20
    frame #260: 0x0000555555645fbe runtest`cfunction_vectorcall_FASTCALL(func=0x00007ffff76d0830, args=0x00007ffff774b1a8, nargsf=<unavailable>, kwnames=0x0000000000000000) at methodobject.c:421:24
    frame #261: 0x00005555556042ca runtest`PyVectorcall_Call(callable=0x00007ffff76d0830, tuple=<unavailable>, kwargs=<unavailable>) at call.c:199:24
    frame #262: 0x0000555555604771 runtest`PyCFunction_Call(func=<unavailable>, args=<unavailable>, kwargs=<unavailable>) at call.c:774:12
    frame #263: 0x00005555556eabf0 runtest`do_call_core(tstate=0x000055555593f3c0, func=0x00007ffff76d0830, callargs=0x00007ffff774b190, kwdict=0x00007ffff6edcc50) at ceval.c:5007:9
    frame #264: 0x00005555556f8897 runtest`_PyEval_EvalFrameDefault(f=0x00007ffff7930450, throwflag=<unavailable>) at ceval.c:3559:22
    frame #265: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #266: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff7725860, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=3, kwnames=0x0000000000000000, kwargs=0x00007ffff76bff18, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x00007ffff792fdd0, qualname=0x00007ffff792fdd0) at ceval.c:4298:14
    frame #267: 0x0000555555601dbd runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:435:12
    frame #268: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775811, args=0x00007ffff76bff00, callable=0x00007ffff7763b90) at abstract.h:127:11
    frame #269: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffd370, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #270: 0x00005555556f834c runtest`_PyEval_EvalFrameDefault(f=0x00007ffff76bfd70, throwflag=<unavailable>) at ceval.c:3469:23
    frame #271: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #272: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555987660, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #273: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #274: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x0000555555987650, callable=0x00007ffff7910370) at abstract.h:127:11
    frame #275: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffd550, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #276: 0x00005555556f8296 runtest`_PyEval_EvalFrameDefault(f=0x00005555559874d0, throwflag=<unavailable>) at ceval.c:3486:23
    frame #277: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #278: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x0000555555ad14d8, nargs=1, globals=<unavailable>) at call.c:283:14
    frame #279: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #280: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775809, args=0x0000555555ad14d0, callable=0x00007ffff7762230) at abstract.h:127:11
    frame #281: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffd738, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #282: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x0000555555ad1320, throwflag=<unavailable>) at ceval.c:3500:19
    frame #283: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #284: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00005555559c80d8, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #285: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #286: 0x00005555556eb811 runtest`call_function [inlined] _PyObject_Vectorcall(kwnames=0x0000000000000000, nargsf=9223372036854775810, args=0x00005555559c80c8, callable=0x00007ffff7671230) at abstract.h:127:11
    frame #287: 0x00005555556eb79f runtest`call_function(tstate=0x000055555593f3c0, pp_stack=0x00007fffffffd918, oparg=<unavailable>, kwnames=0x0000000000000000) at ceval.c:4987
    frame #288: 0x00005555556f83d4 runtest`_PyEval_EvalFrameDefault(f=0x00005555559c7f30, throwflag=<unavailable>) at ceval.c:3500:19
    frame #289: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #290: 0x000055555560134e runtest`function_code_fastcall(co=<unavailable>, args=0x00007fffffffda40, nargs=2, globals=<unavailable>) at call.c:283:14
    frame #291: 0x0000555555601eb6 runtest`_PyFunction_Vectorcall(func=<unavailable>, stack=<unavailable>, nargsf=<unavailable>, kwnames=<unavailable>) at call.c:410:20
    frame #292: 0x000055555560269e runtest`object_vacall at abstract.h:127:11
    frame #293: 0x0000555555602649 runtest`object_vacall [inlined] _PyObject_FastCall(nargs=2, args=0x00007fffffffda30, func=0x00007ffff7671190) at abstract.h:147
    frame #294: 0x0000555555602646 runtest`object_vacall(base=0x0000000000000000, callable=0x00007ffff7671190, vargs=<unavailable>) at call.c:1186
    frame #295: 0x00005555556029c5 runtest`_PyObject_CallMethodIdObjArgs(obj=0x0000000000000000, name=<unavailable>) at call.c:1244:24
    frame #296: 0x000055555571b710 runtest`import_find_and_load(abs_name=0x00007ffff77ef580) at import.c:1697:11
    frame #297: 0x000055555571f5ed runtest`PyImport_ImportModuleLevelObject(name=0x00007ffff77ef580, globals=<unavailable>, locals=<unavailable>, fromlist=0x00005555558d4380, level=0) at import.c:1797:15
    frame #298: 0x00005555556e87ea runtest`import_name(tstate=0x000055555593f3c0, f=0x00005555559c8cc0, name=0x00007ffff77ef580, fromlist=0x00005555558d4380, level=0x00005555558faf80) at ceval.c:5163:15
    frame #299: 0x00005555556f5f3b runtest`_PyEval_EvalFrameDefault(f=0x00005555559c8cc0, throwflag=<unavailable>) at ceval.c:2993:19
    frame #300: 0x00005555556ec25a runtest`PyEval_EvalFrameEx(f=<unavailable>, throwflag=<unavailable>) at ceval.c:741:12
    frame #301: 0x00005555556ecd40 runtest`_PyEval_EvalCodeWithName(_co=0x00007ffff78f5380, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #302: 0x00005555556ecf38 runtest`PyEval_EvalCodeEx(_co=<unavailable>, globals=<unavailable>, locals=<unavailable>, args=<unavailable>, argcount=<unavailable>, kws=<unavailable>, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #303: 0x00005555556ecf66 runtest`PyEval_EvalCode(co=<unavailable>, globals=<unavailable>, locals=<unavailable>) at ceval.c:718:12
    frame #304: 0x00005555555bc7ff runtest`run_eval_code_obj(co=0x00007ffff78f5380, globals=0x00007ffff79374d0, locals=0x00007ffff79374d0) at pythonrun.c:1117:9
    frame #305: 0x00005555555bcc12 runtest`run_mod(mod=<unavailable>, filename=<unavailable>, globals=0x00007ffff79374d0, locals=0x00007ffff79374d0, flags=<unavailable>, arena=<unavailable>) at pythonrun.c:1139:9
    frame #306: 0x00005555555bef69 runtest`PyRun_StringFlags(str=<unavailable>, start=257, globals=0x00007ffff79374d0, locals=0x00007ffff79374d0, flags=0x0000000000000000) at pythonrun.c:1026:15
    frame #307: 0x00005555555befcb runtest`PyRun_SimpleStringFlags(command="import unittest", flags=0x0000000000000000) at pythonrun.c:460:9
    frame #308: 0x00005555555b574c runtest`main + 92
    frame #309: 0x00007ffff7c6f002 libc.so.6`__libc_start_main + 242
    frame #310: 0x00005555555b561e runtest`_start + 46
msg371971 - (view) Author: Steve Stagg (stestagg) Date: 2020-06-20 22:53
This appears to have been  introduced in 13915a3100 bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598).

Cannot reproduce on master
msg371973 - (view) Author: Steve Stagg (stestagg) Date: 2020-06-20 23:32
Fix was here:

a75e730075 bpo-40294: Fix _asyncio when module is loaded/unloaded multiple times (GH-19542)

Backport commit was:
6b0ca0aeab04d7b7b54086248ca9d5e70f770f2f

From my end, the issue seems to be resovled on tag v.3.8.3
msg372118 - (view) Author: The Comet (The Comet) Date: 2020-06-22 21:24
Thanks for the input! I should have been more specific. I was running python 3.8.2 when I got this segfault.

I upgraded to 3.8.3 and the issue is no longer present, so it seems this has already been fixed.
msg372119 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-06-22 21:27
I mark this issue as a duplicate of bpo-40294.

Right, please upgrade to Python 3.8.3 which includes the fix.
History
Date User Action Args
2022-04-11 14:59:32adminsetgithub: 85137
2020-06-22 21:27:42vstinnersetstatus: open -> closed

superseder: Use-after-free crash if multiple interpreters import asyncio module

nosy: + vstinner
messages: + msg372119
resolution: duplicate
stage: resolved
2020-06-22 21:24:24The Cometsetmessages: + msg372118
2020-06-20 23:32:43stestaggsetmessages: + msg371973
2020-06-20 22:53:00stestaggsetmessages: + msg371971
2020-06-20 22:06:56stestaggsetnosy: + stestagg
messages: + msg371967
2020-06-16 12:31:54christian.heimessetnosy: + christian.heimes
messages: + msg371642
2020-06-15 18:39:48brett.cannonsettitle: Segfault when importing unittest module -> Segfault when importing unittest module via C API
2020-06-15 17:15:59shihai1991setnosy: + shihai1991
messages: + msg371578
2020-06-13 02:29:55The Cometcreate