[PySide] Segfault when clicking next in QWizard

Goswin von Brederlow goswin-v-b at web.de
Tue Sep 8 10:59:01 CEST 2015


On Wed, Aug 12, 2015 at 01:32:10PM +0200, Goswin von Brederlow wrote:
> Hi,
> 
> I have a problem with a QWizard in pyside that I can't track down. Every
> so often I get a segfault when clicking next or finished ion the wizard:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000000090 in ?? ()
> (gdb) bt
> #0  0x0000000000000090 in ?? ()
> #1  0x00007ffff41dfec3 in ?? ()
>    from /usr/lib/python3/dist-packages/PySide/QtGui.cpython-34m-x86_64-linux-gnu.so
> #2  0x00007ffff347483b in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #3  0x00007ffff56d087a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
>    from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
> #4  0x00007ffff35dd172 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #5  0x00007ffff3340a63 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #6  0x00007ffff3341bd3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #7  0x00007ffff3341cbc in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
>    from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #8  0x00007ffff2fde51a in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #9  0x00007ffff2f8ee2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
>    from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #10 0x00007ffff2f955dd in QApplication::notify(QObject*, QEvent*) ()
>    from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #11 0x00007ffff3c6076e in ?? ()
>    from /usr/lib/python3/dist-packages/PySide/QtGui.cpython-34m-x86_64-linux-gnu.so
> #12 0x00007ffff56bc4dd in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
>    from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
> #13 0x00007ffff2f94d93 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> #14 0x00007ffff30099eb in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
> 
> I've somewhat reduce the problem to a test case with just the wizard
> and uploaded it to github:
> 
>     https://github.com/Q-Leap-Networks/pyside-segfault
> 
> The segfaults seem to be random. Sometimes they happen, sometimes
> everything works. Sometimes the first run through works but when I run
> the wizard a second or third time it suddenly segfaults. Sometimes
> it's on one of the next buttons and sometimes on finish.
> 
> Any help or suggestions how to track this segfault down would be
> appreciated.
> 
> MfG
> 	Goswin

To answere myself:

The problem was that the created pages were not stored in the python
class. Therefore the python side of the pages gets freed by the GC and
the callbacks go nowhere.

MfG
	Goswin



More information about the PySide mailing list