[PyQt] Abort trap on QtCore.QMetaObject.connectSlotsByName(<widget>)

Patrick Stinson patrickkidd at gmail.com
Mon Feb 18 00:54:02 GMT 2019


I am seeing an abort trap on the QMetaObject.connectSlotsByName() call at the end of setupUi() as generated by pyuic5. I never use slots with the on_<objectName>_<slotName> convention. Is there a way to work around pyuic5 generating this call, or has anyone else sene the cause for this call to abort() in the CPython?

Here is a stack trace showing the call to abort coming from _Py_CheckRecursiveCall:


0   libsystem_kernel.dylib        	0x00007fff60efc23e __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff60fb2c1c pthread_kill + 285
2   libsystem_c.dylib             	0x00007fff60e651c9 abort + 127
3   python3.6                     	0x000000010f80f951 Py_FatalError + 449
4   python3.6                     	0x000000010f7da6d1 _Py_CheckRecursiveCall + 65 (ceval.c:690)
5   python3.6                     	0x000000010f6fa124 _PyObject_FastCallDict + 68
6   python3.6                     	0x000000010f6f4c21 PyObject_CallFunctionObjArgs + 737 (abstract.c:2827)
7   python3.6                     	0x000000010f767f85 slot_tp_getattr_hook + 469 (typeobject.c:6230)
8   python3.6                     	0x000000010f752c99 PyObject_GetAttrString + 137 (object.c:891)
9   python3.6                     	0x000000010f8105b4 flush_std_files + 84 (pylifecycle.c:494)
10  python3.6                     	0x000000010f80f94c Py_FatalError + 444 (pylifecycle.c:1466)
11  python3.6                     	0x000000010f7da6d1 _Py_CheckRecursiveCall + 65 (ceval.c:690)
12  python3.6                     	0x000000010f6fa124 _PyObject_FastCallDict + 68
13  python3.6                     	0x000000010f7e3892 call_function + 466 (ceval.c:4848)
14  python3.6                     	0x000000010f7e07e8 _PyEval_EvalFrameDefault + 24616 (ceval.c:3323)
15  python3.6                     	0x000000010f7e4516 _PyEval_EvalCodeWithName + 2902 (ceval.c:753)
16  python3.6                     	0x000000010f7e509e _PyFunction_FastCallDict + 606 (ceval.c:5057)
17  python3.6                     	0x000000010f6fa1aa _PyObject_FastCallDict + 202 (abstract.c:2310)
18  python3.6                     	0x000000010f6fa35c _PyObject_Call_Prepend + 156 (abstract.c:2373)
19  python3.6                     	0x000000010f6f9fd5 PyObject_Call + 101
20  python3.6                     	0x000000010f768bde slot_tp_init + 158 (typeobject.c:6407)
21  python3.6                     	0x000000010f764ba4 type_call + 308 (typeobject.c:916)
22  python3.6                     	0x000000010f6fa27f _PyObject_FastCallDict + 415 (abstract.c:2331)
23  python3.6                     	0x000000010f7e3892 call_function + 466 (ceval.c:4848)
24  python3.6                     	0x000000010f7e07e8 _PyEval_EvalFrameDefault + 24616 (ceval.c:3323)
25  python3.6                     	0x000000010f7e4d49 fast_function + 569 (ceval.c:753)
26  python3.6                     	0x000000010f7e38e9 call_function + 553 (ceval.c:4845)
27  python3.6                     	0x000000010f7e07e8 _PyEval_EvalFrameDefault + 24616 (ceval.c:3323)
28  python3.6                     	0x000000010f7e4516 _PyEval_EvalCodeWithName + 2902 (ceval.c:753)
29  python3.6                     	0x000000010f7e4cab fast_function + 411 (ceval.c:4972)
30  python3.6                     	0x000000010f7e38e9 call_function + 553 (ceval.c:4845)
31  python3.6                     	0x000000010f7e07e8 _PyEval_EvalFrameDefault + 24616 (ceval.c:3323)
32  python3.6                     	0x000000010f7e4516 _PyEval_EvalCodeWithName + 2902 (ceval.c:753)
33  python3.6                     	0x000000010f7e509e _PyFunction_FastCallDict + 606 (ceval.c:5057)
34  python3.6                     	0x000000010f6fa1aa _PyObject_FastCallDict + 202 (abstract.c:2310)
35  python3.6                     	0x000000010f6fa35c _PyObject_Call_Prepend + 156 (abstract.c:2373)
36  python3.6                     	0x000000010f6f9fd5 PyObject_Call + 101
37  python3.6                     	0x000000010f768bde slot_tp_init + 158 (typeobject.c:6407)
38  python3.6                     	0x000000010f764ba4 type_call + 308 (typeobject.c:916)
39  python3.6                     	0x000000010f6fa27f _PyObject_FastCallDict + 415 (abstract.c:2331)
40  python3.6                     	0x000000010f7e3892 call_function + 466 (ceval.c:4848)
41  python3.6                     	0x000000010f7e07e8 _PyEval_EvalFrameDefault + 24616 (ceval.c:3323)
42  python3.6                     	0x000000010f7e4516 _PyEval_EvalCodeWithName + 2902 (ceval.c:753)
43  python3.6                     	0x000000010f7da777 PyEval_EvalCodeEx + 55 (ceval.c:4174)
44  python3.6                     	0x000000010f728755 function_call + 101 (funcobject.c:604)
45  python3.6                     	0x000000010f6f9fd5 PyObject_Call + 101
46  python3.6                     	0x000000010f718b3d property_descr_get + 93 (descrobject.c:1384)
47  python3.6                     	0x000000010f75343b _PyObject_GenericGetAttrWithDict + 171 (object.c:1060)
48  python3.6                     	0x000000010f767ee4 slot_tp_getattr_hook + 308 (typeobject.c:6264)
49  QtCore.so                     	0x000000011179887e qpycore_qmetaobject_connectslotsbyname(QObject*, _object*) + 222 (qpycore_qmetaobject_helpers.cpp:59)
50  QtCore.so                     	0x00000001116c96e5 meth_QMetaObject_connectSlotsByName(_object*, _object*) + 117 (qobjectdefs.sip:61)
51  python3.6                     	0x000000010f74fb66 _PyCFunction_FastCallDict + 166 (methodobject.c:234)



More information about the PyQt mailing list