https://bugs.kde.org/show_bug.cgi?id=360151

            Bug ID: 360151
           Summary: Frequent segfault when a PyQt application exits.
           Product: plasmashell
           Version: 5.5.5
          Platform: Archlinux Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: k...@davidedmundson.co.uk
          Reporter: anntzer....@gmail.com
                CC: bhus...@gmail.com, plasma-b...@kde.org

At the exit of various PyQt5 scripts, python segfaults fairly frequently.  This
is *not* (solely, at least) a PyQt related issue, as I cannot reproduce it when
using an XFCE session, and the PyQt main developer cannot reproduce it on MacOS
(https://www.riverbankcomputing.com/pipermail/pyqt/2016-February/037011.html).

Reproducible: Always

Steps to Reproduce:
Run the following Python script (PyQt 5.5.1, python2 or python3):
```
from PyQt5.QtWidgets import *
class Main(QMainWindow):
    def fail(self):
        QInputDialog.getItem(self, "foo", "bar", ["baz"])
        raise Exception
app = QApplication([])
main = Main()
main.fail()
app.exec_()
```

Actual Results:  
After selecting a value and raising a (normal) exception, the application
segfaults (not always, but more than half of the time).

Expected Results:  
The application should exit with status 1 (failed with exception).

a gdb backtrace (without any debug informations, sorry):
```
(gdb) bt
#0  0x00007ffff505c01b in ?? () from /usr/lib/libQt5Core.so.5
#1  0x00007ffff505b29b in
QPropertyAnimation::updateState(QAbstractAnimation::State,
QAbstractAnimation::State) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff5053679 in QAbstractAnimation::stop() () from
/usr/lib/libQt5Core.so.5
#3  0x00007ffff505a387 in QPropertyAnimation::~QPropertyAnimation() () from
/usr/lib/libQt5Core.so.5
#4  0x00007fffdd8118b3 in ?? () from /usr/lib/qt/plugins/styles/breeze.so
#5  0x00007ffff528884b in QObjectPrivate::deleteChildren() () from
/usr/lib/libQt5Core.so.5
#6  0x00007ffff52925d0 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#7  0x00007fffdd812913 in ?? () from /usr/lib/qt/plugins/styles/breeze.so
#8  0x00007ffff528884b in QObjectPrivate::deleteChildren() () from
/usr/lib/libQt5Core.so.5
#9  0x00007ffff52925d0 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#10 0x00007fffdd813179 in ?? () from /usr/lib/qt/plugins/styles/breeze.so
#11 0x00007ffff528884b in QObjectPrivate::deleteChildren() () from
/usr/lib/libQt5Core.so.5
#12 0x00007ffff52925d0 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#13 0x00007fffdd812a50 in ?? () from /usr/lib/qt/plugins/styles/breeze.so
#14 0x00007ffff528884b in QObjectPrivate::deleteChildren() () from
/usr/lib/libQt5Core.so.5
#15 0x00007ffff52925d0 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#16 0x00007fffdd7eb0e9 in ?? () from /usr/lib/qt/plugins/styles/breeze.so
#17 0x00007ffff528a1a7 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#18 0x00007ffff528abbf in QObject::destroyed(QObject*) () from
/usr/lib/libQt5Core.so.5
#19 0x00007ffff529214a in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#20 0x00007fffdd802b57 in ?? () from /usr/lib/qt/plugins/styles/breeze.so
#21 0x00007ffff5250235 in ?? () from /usr/lib/libQt5Core.so.5
#22 0x00007ffff5248732 in ?? () from /usr/lib/libQt5Core.so.5
#23 0x00007ffff5248959 in ?? () from /usr/lib/libQt5Core.so.5
#24 0x00007ffff5292618 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#25 0x00007ffff52478c0 in QFactoryLoader::~QFactoryLoader() () from
/usr/lib/libQt5Core.so.5
#26 0x00007ffff5bb8439 in ?? () from /usr/lib/libQt5Widgets.so.5
#27 0x00007ffff7382c38 in __run_exit_handlers () from /usr/lib/libc.so.6
#28 0x00007ffff7382c85 in exit () from /usr/lib/libc.so.6
#29 0x00007ffff736d717 in __libc_start_main () from /usr/lib/libc.so.6
#30 0x0000000000400b99 in _start ()
```

This occurs both with the breeze and oxygen themes (which I tried as they are
mentioned in the backtrace), but not under XFCE.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to