[PyQt] [BUG] PyQt5 default behaviour related to sip.setdestroyonexit()

Vladimir Rutsky rutsky.vladimir at gmail.com
Thu Dec 24 14:36:15 GMT 2015


On Thu, Dec 24, 2015 at 4:44 PM, Phil Thompson
<phil at riverbankcomputing.com> wrote:
>
>> On 24 Dec 2015, at 12:57 pm, Vladimir Rutsky <rutsky.vladimir at gmail.com> wrote:
>>
>> I patched files as you asked, and here is the result of test running:
>>
>> $ QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1  DISPLAY=:0
>> /mnt/data/bob/qt/PyQt5_5.5.2-snapshot-60e96c2f91b5_env_dbg/bin/python
>> pyqt5_destroy_on_exit_test.py
>> In metaObject()
>>
>> In metaObject()
>> In sip_exit()
>> Weak ref <weakref at 0x7f77cec91ad8; dead> is dead
>> In finalise()
>> In metaObject()
>> Segmentation fault (core dumped)
>> $
>
> I don't see how that can be given your previous stack trace. sipInterpreter will be NULL when metaObject() is called for the last time. Therefore the call to sipGetInterpreter() in metaObject() should fail and it should never call the code that is causing the crash.
>
> Are you sure you are using the snapshot version of the sip code generator when rebuilding PyQt? What is the body of the metaObject() function?
>
> Phil

Sorry, I failed to actually checkout *latest* sip commit in mercurial
--- I built PyQt5 with "default" branch.

Now I rebuilt PyQt5 with really latest commit and original issue is
not reproduced, thanks!

--
Vladimir Rutsky


More information about the PyQt mailing list