Bug 416132

Summary: Plasma crash when notification popup appears
Product: [Plasma] plasmashell Reporter: Daniel Vrátil <dvratil>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: crash CC: plasma-bugs
Priority: NOR Keywords: drkonqi
Version: master   
Target Milestone: 1.0   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Daniel Vrátil 2020-01-11 18:52:40 UTC
Application: plasmashell (5.17.80)
 (Compiled from sources)
Qt Version: 5.13.2
Frameworks Version: 5.66.0
Operating System: Linux 5.4.8-200.fc31.x86_64 x86_64
Windowing system: X11
Distribution: "Fedora release 31 (Thirty One)"

-- Information about the crash:
- What I was doing when the application crashed:

Whenever a notification popup appears, Plasma crashes with the following backtrace.

I'm running current git master of Frameworks and Plasma Workspace against distribution Qt 5.13.2.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fd71ca99840 (LWP 5162))]

Thread 7 (Thread 0x7fd6ebfff700 (LWP 5193)):
#0  0x00007fd71f7cad45 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib64/libpthread.so.0
#1  0x00007fd71fdb68e3 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fd71fdb6971 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#3  0x00007fd721ebd4e9 in QSGRenderThread::processEventsAndWaitForMore() () at /usr/lib64/libQt5Quick.so.5
#4  0x00007fd721ebd78d in QSGRenderThread::run() () at /usr/lib64/libQt5Quick.so.5
#5  0x00007fd71fdb0dc6 in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#6  0x00007fd71f7c44e2 in start_thread () at /usr/lib64/libpthread.so.0
#7  0x00007fd71fc0e693 in clone () at /usr/lib64/libc.so.6

Thread 6 (Thread 0x7fd6f13bb700 (LWP 5192)):
#0  0x00007fd71f7cad45 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib64/libpthread.so.0
#1  0x00007fd71fdb68e3 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fd71fdb6971 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#3  0x00007fd721ebd4e9 in QSGRenderThread::processEventsAndWaitForMore() () at /usr/lib64/libQt5Quick.so.5
#4  0x00007fd721ebd78d in QSGRenderThread::run() () at /usr/lib64/libQt5Quick.so.5
#5  0x00007fd71fdb0dc6 in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#6  0x00007fd71f7c44e2 in start_thread () at /usr/lib64/libpthread.so.0
#7  0x00007fd71fc0e693 in clone () at /usr/lib64/libc.so.6

Thread 5 (Thread 0x7fd707310700 (LWP 5169)):
#0  0x00007fd71e9f3a4d in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0
#1  0x00007fd71e9a7710 in g_main_context_iterate.isra () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fd71e9a7943 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fd71ffb58b3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007fd71ff5f24b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007fd71fdafc75 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007fd721e320da in QQuickPixmapReader::run() () at /usr/lib64/libQt5Quick.so.5
#7  0x00007fd71fdb0dc6 in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#8  0x00007fd71f7c44e2 in start_thread () at /usr/lib64/libpthread.so.0
#9  0x00007fd71fc0e693 in clone () at /usr/lib64/libc.so.6

Thread 4 (Thread 0x7fd707fc4700 (LWP 5168)):
#0  0x00007fd71f7cad45 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib64/libpthread.so.0
#1  0x00007fd71fdb68e3 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fd71fdb6971 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#3  0x00007fd721ebd4e9 in QSGRenderThread::processEventsAndWaitForMore() () at /usr/lib64/libQt5Quick.so.5
#4  0x00007fd721ebd78d in QSGRenderThread::run() () at /usr/lib64/libQt5Quick.so.5
#5  0x00007fd71fdb0dc6 in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#6  0x00007fd71f7c44e2 in start_thread () at /usr/lib64/libpthread.so.0
#7  0x00007fd71fc0e693 in clone () at /usr/lib64/libc.so.6

Thread 3 (Thread 0x7fd71a65a700 (LWP 5165)):
#0  0x00007fd71e9a58f3 in g_source_ref () at /usr/lib64/libglib-2.0.so.0
#1  0x00007fd71e9a59a1 in g_source_iter_next () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fd71e9a6cc3 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fd71e9a773b in g_main_context_iterate.isra () at /usr/lib64/libglib-2.0.so.0
#4  0x00007fd71e9a7943 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007fd71ffb58b3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007fd71ff5f24b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007fd71fdafc75 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007fd721b41399 in QQmlThreadPrivate::run() () at /usr/lib64/libQt5Qml.so.5
#9  0x00007fd71fdb0dc6 in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#10 0x00007fd71f7c44e2 in start_thread () at /usr/lib64/libpthread.so.0
#11 0x00007fd71fc0e693 in clone () at /usr/lib64/libc.so.6

Thread 2 (Thread 0x7fd71b8f7700 (LWP 5164)):
#0  0x00007fd71fbff44c in read () at /usr/lib64/libc.so.6
#1  0x00007fd71e9ef53f in g_wakeup_acknowledge () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fd71e9a7357 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fd71e9a77b2 in g_main_context_iterate.isra () at /usr/lib64/libglib-2.0.so.0
#4  0x00007fd71e9a7943 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007fd71ffb58b3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007fd71ff5f24b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007fd71fdafc75 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007fd721060f6a in QDBusConnectionManager::run() () at /usr/lib64/libQt5DBus.so.5
#9  0x00007fd71fdb0dc6 in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#10 0x00007fd71f7c44e2 in start_thread () at /usr/lib64/libpthread.so.0
#11 0x00007fd71fc0e693 in clone () at /usr/lib64/libc.so.6

Thread 1 (Thread 0x7fd71ca99840 (LWP 5162)):
[KCrash Handler]
#6  PlasmaQuick::Dialog::isVisible() const (this=0x2832100) at /data/KDE/src/frameworks/plasma-framework/src/plasmaquick/dialog.cpp:1427
#7  PlasmaQuick::DialogPrivate::updateInputShape() (this=0x230c430) at /data/KDE/src/frameworks/plasma-framework/src/plasmaquick/dialog.cpp:550
#8  0x00007fd71ff8a98b in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#9  0x00007fd7203411a6 in QWindow::visibleChanged(bool) () at /usr/lib64/libQt5Gui.so.5
#10 0x00007fd7203477d3 in QWindowPrivate::setVisible(bool) () at /usr/lib64/libQt5Gui.so.5
#11 0x00007fd720346efc in QWindowPrivate::destroy() () at /usr/lib64/libQt5Gui.so.5
#12 0x00007fd720347067 in QWindow::~QWindow() () at /usr/lib64/libQt5Gui.so.5
#13 0x00007fd721f16384 in QQuickWindow::~QQuickWindow() () at /usr/lib64/libQt5Quick.so.5
#14 0x00007fd718801b91 in QQmlPrivate::QQmlElement<PlasmaQuick::Dialog>::~QQmlElement() (this=0x283d330) at /usr/include/qt5/QtQml/qqmlprivate.h:108
#15 QQmlPrivate::QQmlElement<PlasmaQuick::Dialog>::~QQmlElement() (this=0x283d330) at /usr/include/qt5/QtQml/qqmlprivate.h:106
#16 0x00007fd71ff8b634 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#17 0x00007fd720347c1a in QWindow::event(QEvent*) () at /usr/lib64/libQt5Gui.so.5
#18 0x00007fd721f20fe9 in QQuickWindow::event(QEvent*) () at /usr/lib64/libQt5Quick.so.5
#19 0x00007fd7226a616e in PlasmaQuick::Dialog::event(QEvent*) (this=0x283d330, event=0x29c3490) at /data/KDE/src/frameworks/plasma-framework/src/plasmaquick/dialog.cpp:1357
#20 0x00007fd720931ab6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007fd72093b150 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#22 0x00007fd71ff60458 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#23 0x00007fd71ff6349b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#24 0x00007fd71ffb5b07 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5Core.so.5
#25 0x00007fd71e9a7510 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#26 0x00007fd71e9a78a0 in g_main_context_iterate.isra () at /usr/lib64/libglib-2.0.so.0
#27 0x00007fd71e9a7943 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#28 0x00007fd71ffb5895 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#29 0x00007fd71ff5f24b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#30 0x00007fd71ff67126 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#31 0x0000000000426bcd in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /data/KDE/src/kde/workspace/plasma-workspace/shell/main.cpp:209
[Inferior 1 (process 5162) detached]

Possible duplicates by query: bug 406222, bug 405067, bug 400444, bug 390877, bug 385527.

Reported using DrKonqi
Comment 1 Daniel Vrátil 2020-02-26 08:56:42 UTC
Caused by https://phabricator.kde.org/D23339, fixed by https://phabricator.kde.org/D27671