[PyQt] QtWebEngineWidgets crasher

Baz Walter bazwal at ftml.net
Thu Mar 19 03:15:03 GMT 2015


On 19/03/15 02:47, Kovid Goyal wrote:
> Sounds like an object lifetime bug,
> try explicitly deleting widget after app.exec_()
>

No that doesn't work, but it's not the point anyway. It's trivial to 
find several ways to "fix" my toy example - e.g. give the widget a 
parent, import QtWebEngineWidgets globally, move app into the test 
function, etc, etc.

The question is why a non-global import of the QtWebEngineWidgets module 
(and no other PyQt module) causes my test case to crash on exit. At the 
moment, I can't find a way to debug it. Even with debug builds of PyQt5 
and Qt5, the backtrace seems pretty useless (I also tried valgrind with 
similar results):

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe8c3c700 (LWP 2903)]
0x00007fffeba9d399 in ?? ()
(gdb) bt full
#0  0x00007fffeba9d399 in ?? ()
No symbol table info available.
#1  0x00007fffe8c3bf10 in ?? ()
No symbol table info available.
#2  0x00000000009362a0 in ?? ()
No symbol table info available.
#3  0x00007fffe8c3bf50 in ?? ()
No symbol table info available.
#4  0x0000000000936600 in ?? ()
No symbol table info available.
#5  0x00007fffffffbebf in ?? ()
No symbol table info available.
#6  0x00007ffff5f9f55e in QThreadPrivate::start (arg=0x9362a0) at 
thread/qthread_unix.cpp:337
         __clframe = {__cancel_routine = 0x7ffff5f9e650 
<QThreadPrivate::finish(void*)>, __cancel_arg = 0x9362a0, __do_it = 1,
           __cancel_type = <optimized out>}
         thr = 0x9362a0
         data = 0x7fffe4003f80
         objectName = {static null = {<No data fields>}, d = 0x7f04f0}
Backtrace stopped: previous frame inner to this frame (corrupt stack?)



More information about the PyQt mailing list