Bug 420245 - Plasma crashes in Plasma::Applet::destroy() after SystemTrayContainer::~SystemTrayContainer(), which can cause the panel to go missing
Summary: Plasma crashes in Plasma::Applet::destroy() after SystemTrayContainer::~Syste...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray (show other bugs)
Version: 5.18.4
Platform: unspecified Linux
: HI crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
: 425444 432277 434809 444141 458852 460256 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-04-18 12:51 UTC by Zayn
Modified: 2022-10-12 20:41 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.24.7
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zayn 2020-04-18 12:51:57 UTC
Application: plasmashell (5.18.4)

Qt Version: 5.14.1
Frameworks Version: 5.69.0
Operating System: Linux 5.3.0-46-generic x86_64
Windowing system: X11
Distribution: KDE neon User Edition 5.18

-- Information about the crash:
- Unusual behavior I noticed:
Each time I fix missing panel by reapplying default dark theme.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f1bfa30f800 (LWP 1775))]

Thread 4 (Thread 0x7f1be0960700 (LWP 1886)):
#0  0x00007f1bed80c644 in g_mutex_unlock () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1bed7c54b7 in g_main_context_acquire () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1bed7c6485 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1bed7c66dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f1bf40230db in QEventDispatcherGlib::processEvents (this=0x7f1bd8000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f1bf3fc263a in QEventLoop::exec (this=this@entry=0x7f1be095fd80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007f1bf3dd3317 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#7  0x00007f1bf7982605 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f1bf3dd47ec in QThreadPrivate::start (arg=0x556036ec8db0) at thread/qthread_unix.cpp:342
#9  0x00007f1bf0a576db in start_thread (arg=0x7f1be0960700) at pthread_create.c:463
#10 0x00007f1bf36c988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f1be29e9700 (LWP 1818)):
#0  0x00007f1bf36bcbf9 in __GI___poll (fds=0x7f1bd4002de0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f1bed7c65c9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1bed7c66dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1bf40230db in QEventDispatcherGlib::processEvents (this=0x7f1bd4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f1bf3fc263a in QEventLoop::exec (this=this@entry=0x7f1be29e8d70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007f1bf3dd3317 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#6  0x00007f1bf5cca555 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f1bf3dd47ec in QThreadPrivate::start (arg=0x7f1bf5f42da0) at thread/qthread_unix.cpp:342
#8  0x00007f1bf0a576db in start_thread (arg=0x7f1be29e9700) at pthread_create.c:463
#9  0x00007f1bf36c988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f1be4de2700 (LWP 1806)):
#0  0x00007f1bf36bcbf9 in __GI___poll (fds=0x7f1be4de1ca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f1bf8ae8747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f1bf8aea36a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f1be75a3cc0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f1bf3dd47ec in QThreadPrivate::start (arg=0x556036c892d0) at thread/qthread_unix.cpp:342
#5  0x00007f1bf0a576db in start_thread (arg=0x7f1be4de2700) at pthread_create.c:463
#6  0x00007f1bf36c988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f1bfa30f800 (LWP 1775)):
[KCrash Handler]
#6  Plasma::Applet::immutability (this=0x0) at ./src/plasma/applet.cpp:491
#7  0x00007f1bf863ebf9 in Plasma::Applet::destroy (this=0x0) at ./src/plasma/applet.cpp:303
#8  0x00007f1bd28d4352 in SystemTrayContainer::~SystemTrayContainer (this=0x556036f934b0, __in_chrg=<optimized out>) at ./applets/systemtray/container/systemtraycontainer.cpp:37
#9  0x00007f1bd28d43b9 in SystemTrayContainer::~SystemTrayContainer (this=0x556036f934b0, __in_chrg=<optimized out>) at ./applets/systemtray/container/systemtraycontainer.cpp:39
#10 0x00007f1bf3ff35fb in QObjectPrivate::deleteChildren (this=0x556036f3f440) at kernel/qobject.cpp:2123
#11 0x00007f1bf3ffcbde in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1107
#12 0x00007f1bf86424f9 in Plasma::Containment::~Containment (this=0x556036f3f800, __in_chrg=<optimized out>) at ./src/plasma/containment.cpp:88
#13 0x00007f1bf3ff6eb5 in QObject::event (this=0x556036f3f800, e=0x5560375c4150) at kernel/qobject.cpp:1326
#14 0x00007f1bf53028bc in QApplicationPrivate::notify_helper (this=this@entry=0x556036c86880, receiver=receiver@entry=0x556036f3f800, e=e@entry=0x5560375c4150) at kernel/qapplication.cpp:3684
#15 0x00007f1bf5309ac0 in QApplication::notify (this=0x7ffe05f0e240, receiver=0x556036f3f800, e=0x5560375c4150) at kernel/qapplication.cpp:3430
#16 0x00007f1bf3fc3db8 in QCoreApplication::notifyInternal2 (receiver=0x556036f3f800, event=0x5560375c4150) at kernel/qcoreapplication.cpp:1092
#17 0x00007f1bf3fc3f8e in QCoreApplication::sendEvent (receiver=receiver@entry=0x556036f3f800, event=event@entry=0x5560375c4150) at kernel/qcoreapplication.cpp:1487
#18 0x00007f1bf3fc6a31 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x556036c7bb00) at kernel/qcoreapplication.cpp:1832
#19 0x00007f1bf3fc6fc8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1691
#20 0x00007f1bf4023a13 in postEventSourceDispatch (s=0x556036cdb630) at kernel/qeventdispatcher_glib.cpp:277
#21 0x00007f1bed7c6417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f1bed7c6650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f1bed7c66dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f1bf40230bc in QEventDispatcherGlib::processEvents (this=0x556036cec700, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#25 0x00007f1bf3fc263a in QEventLoop::exec (this=this@entry=0x7ffe05f0e0f0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#26 0x00007f1bf3fcbdb0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1400
#27 0x0000556035269894 in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:228

Possible duplicates by query: bug 417603, bug 415304, bug 411221, bug 377301, bug 375750.

Reported using DrKonqi
Comment 1 David Edmundson 2020-04-18 12:54:15 UTC
Can you clarify

The comment is about a panel being missing, but there's a whole crash report.

When you say it's gone missing do you mean, that plasmashell is crashing?

When does it crash?
Comment 2 Bug Janitor Service 2020-05-03 04:33:11 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bug Janitor Service 2020-05-18 04:33:14 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 4 Nate Graham 2022-09-11 23:58:59 UTC
Re-opening and using this as the parent bug report for a whole bunch of other bug reports with the same backtrace and symptoms that people are still reporting today.
Comment 5 Nate Graham 2022-09-11 23:59:19 UTC
*** Bug 432277 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2022-09-11 23:59:59 UTC
*** Bug 425444 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2022-09-12 00:00:34 UTC
*** Bug 444141 has been marked as a duplicate of this bug. ***
Comment 8 Nate Graham 2022-09-12 00:00:40 UTC
*** Bug 458852 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2022-09-12 00:03:54 UTC
*** Bug 434809 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2022-09-12 00:08:28 UTC
Raising priority due to number of duplicates.

Thankfully, it should be fixed by https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2091.
Comment 11 Nate Graham 2022-09-19 21:17:03 UTC
*** Bug 458852 has been marked as a duplicate of this bug. ***
Comment 12 Nate Graham 2022-09-21 17:25:22 UTC
This should be fixed in Plasma 5.26 now with recent changes.
Comment 13 Nicolas Fella 2022-09-28 16:32:26 UTC
Git commit 7baa4c221e45f161adf4e00d4cf0e36d6436e90c by Nicolas Fella.
Committed on 28/09/2022 at 16:24.
Pushed by nicolasfella into branch 'master'.

[applets/systemtray] Don't manually destroy innerContainment

It's already destroyed by the corona

M  +0    -3    applets/systemtray/container/systemtraycontainer.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/7baa4c221e45f161adf4e00d4cf0e36d6436e90c
Comment 14 Nicolas Fella 2022-09-28 16:33:47 UTC
Git commit a75260bd300309bbd540ee7a800f6480279f97a1 by Nicolas Fella.
Committed on 28/09/2022 at 16:33.
Pushed by nicolasfella into branch 'Plasma/5.26'.

[applets/systemtray] Don't manually destroy innerContainment

It's already destroyed by the corona
(cherry picked from commit 7baa4c221e45f161adf4e00d4cf0e36d6436e90c)

M  +0    -3    applets/systemtray/container/systemtraycontainer.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/a75260bd300309bbd540ee7a800f6480279f97a1
Comment 15 Nicolas Fella 2022-09-28 16:34:27 UTC
Git commit 432d7c4b51c5a1f17af327d770266b3fe81e5ae5 by Nicolas Fella.
Committed on 28/09/2022 at 16:34.
Pushed by nicolasfella into branch 'Plasma/5.24'.

[applets/systemtray] Don't manually destroy innerContainment

It's already destroyed by the corona
(cherry picked from commit 7baa4c221e45f161adf4e00d4cf0e36d6436e90c)

M  +0    -3    applets/systemtray/container/systemtraycontainer.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/432d7c4b51c5a1f17af327d770266b3fe81e5ae5
Comment 16 Nate Graham 2022-10-12 20:41:45 UTC
*** Bug 460256 has been marked as a duplicate of this bug. ***