PySide2/Qt5 crashes hard (Segmentation fault) when emitting a queued connection signal with an argument into a secondary QThread.
Note that this is a separate bug from
PYSIDE-810, garbage collection is explicitly disabled in the test case below.
PySide 1.x doesn't seem to be affected (unless the patches below have been back-ported).
It looks like this bug might have been introduced here:
It seems to be happening during the de-allocation of the Python object that is passed as an argument to the emit method (SbkDeallocWrapper):
|For Gerrit Dashboard: PYSIDE-813|
|240691,3||WIP: PySide2: Fix crash emitting signals across threads||dev||pyside/pyside-setup||Status: ABANDONED||-2||0|
|295459,3||shiboken: Update sbkstring to use PyUnicode_GetLength||5.14||pyside/pyside-setup||Status: MERGED||+2||0|
|295595,7||shiboken: Fix dict access without GIL||5.14||pyside/pyside-setup||Status: MERGED||+2||0|
|295631,2||shiboken: Update sbkstring to use PyUnicode_GetLength rev. 2||5.14||pyside/pyside-setup||Status: MERGED||+2||0|
|296655,2||shiboken: Fix race condition with unprotected Py_INCREFs||5.14||pyside/pyside-setup||Status: MERGED||+2||0|