[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