Python 3.10.12 Qt 6.6.1 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 11.4.0) qobjectConnectCallback >Emitter(0x562df688c640, "Emitter") cb=2sig() "cb=PyObject(0x7f86a37da140, refs=4, "method", 0x5900 [gc] [vectorcall] [immutabletype], "Parent.pslot()", instance=0x7f86a37da040) 0 getReceiver >Emitter(0x562df688c640, "Emitter") cb=sig()" cb=PyObject(0x7f86a37da140, refs=4, "method", 0x5900 [gc] [vectorcall] [immutabletype], "Parent.pslot()", instance=0x7f86a37da040) getReceiver bug 1019: Child(0x562df688ce30, name = Child) sig="pslot()" slotIndex=-1 PyMethod_Check=1 methodOffset=5 of "Child", 0x562df6222290 getReceiver >Emitter(0x562df688c640, name = Emitter)"sig()"rets=GetReceiverResult(receiver=Child(0x562df688ce30, name = Child), self=0x7f86a37da040, sig="pslot()", slotIndex=-1, usingGlobalReceiver=false) Warning: Registering dynamic slot "pslot()" on Child. Consider annotating with @Slot() qobjectConnectCallback < Emitter(0x562df688c640, name = "Emitter") 2sig() true qobjectDisconnectCallback >Emitter(0x562df688c640, "Emitter") cb=2sig() cb=PyObject(0x7f86a37da140, refs=4, "method", 0x85900 [gc] [vectorcall] [immutabletype], "Parent.pslot()", instance=0x7f86a37da040) getReceiver >QObject(0) cb=2sig()" cb=PyObject(0x7f86a37da140, refs=4, "method", 0x85900 [gc] [vectorcall] [immutabletype], "Parent.pslot()", instance=0x7f86a37da040) getReceiver bug 1019: Child(0x562df688ce30, name = Child) sig="pslot()" slotIndex=5 PyMethod_Check=1 methodOffset=5 of "Child", 0x562df64556c0 getReceiver bug 1019: loop="Child", 0x562df64556c0 methodOffset=5 isDeclaredIn=false getReceiver >QObject(0x0)"2sig()"rets=GetReceiverResult(receiver=__GlobalReceiver__(0x562df688d8d0), self=0x7f86a37da040, sig="pslot7f86a37da0407f86bc2cd2d0()", slotIndex=-1, usingGlobalReceiver=true) qobjectDisconnectCallback signalIndex= 5 slotIndex= -1 qobjectDisconnectCallback QMetaObject::disconnectOne=fail Traceback (most recent call last): File "/data1/kleint/pyside-setup/../projects/pyside2487.py", line 30, in e.sig.disconnect(x.pslot) RuntimeError: Failed to disconnect signal sig() ======================================================================================= with git revert f048d13b4f042b04d94007fba951ed3080ccf8c9: Python 3.10.12 Qt 6.5.3 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 11.3.0) qobjectConnectCallback >Emitter(0x5568e6315bc0, "Emitter") cb=2sig() "cb=PyObject(0x7fc2d0395880, refs=4, "method", 0x5900 [gc] [vectorcall] [immutabletype], ) 0 getReceiver >Emitter(0x5568e6315bc0, "Emitter") cb=sig()" cb=PyObject(0x7fc2d0395880, refs=4, "method", 0x5900 [gc] [vectorcall] [immutabletype], ) getReceiver bug 1019: sig= "pslot()" slotIndex= -1 PyMethod_Check= 1 Child methodOffset= 5 getReceiver >Emitter(0x5568e6315bc0, name = Emitter)"sig()"rets=GetReceiverResult(receiver=Child(0x5568e6316420, name = Child), self=0x7fc2d0395780, sig="pslot()", slotIndex=-1, usingGlobalReceiver=false) Warning: Registering dynamic slot "pslot()" on Child. Consider annotating with @Slot() qobjectConnectCallback < Emitter(0x5568e6315bc0, name = "Emitter") 2sig() true qobjectDisconnectCallback >Emitter(0x5568e6315bc0, "Emitter") cb=2sig() cb=PyObject(0x7fc2d0395880, refs=4, "method", 0x85900 [gc] [vectorcall] [immutabletype], ) getReceiver >QObject(0) cb=2sig()" cb=PyObject(0x7fc2d0395880, refs=4, "method", 0x85900 [gc] [vectorcall] [immutabletype], ) getReceiver bug 1019: sig= "pslot()" slotIndex= -1 PyMethod_Check= 1 Child methodOffset= 5 getReceiver >QObject(0x0)"2sig()"rets=GetReceiverResult(receiver=Child(0x5568e6316420, name = Child), self=0x7fc2d0395780, sig="pslot()", slotIndex=5, usingGlobalReceiver=false) qobjectDisconnectCallback signalIndex= 5 slotIndex= 5 qobjectDisconnectCallback ok