Bug 487660 - Plasma crashes in org_kde_kwin_shadow_manager::unset() while trying to stop PC from turning off monitors/sleep
Summary: Plasma crashes in org_kde_kwin_shadow_manager::unset() while trying to stop P...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.0.5
Platform: Solus Linux
: HI crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: wayland-only
: 479742 491788 495128 500465 502823 503459 503460 507029 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-05-28 00:38 UTC by Justin Zobel
Modified: 2025-09-24 20:39 UTC (History)
10 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Zobel 2024-05-28 00:38:34 UTC
I saw my PC about to go to sleep so I moved my finger over the trackpad.

Appears plasmashell crashed and I get only black screens with the regular mouse pointer that I can move around.

#0  0x00007f39d0aff856 in KCrash::defaultCrashHandler(int) () at /usr/lib/libKF6Crash.so.6
#1  0x00007f39cda5a300 in <signal handler called> () at /usr/lib/glibc-hwcaps/x86-64-v3/libc.so.6
#2  0x00007f39d0b89570 in wl_proxy_get_version () at /usr/lib/libwayland-client.so.0
#3  0x00007f39c34bb687 in org_kde_kwin_shadow_manager_unset (org_kde_kwin_shadow_manager=0x0, surface=0x5621b446ef20) at src/platforms/wayland/wayland-shadow-client-protocol.h:116
#4  QtWayland::org_kde_kwin_shadow_manager::unset (this=<optimized out>, surface=0x5621b446ef20) at /home/build/YPKG/root/kf6-kwindowsystem/build/kwindowsystem-6.2.0/solusBuildDir/src/platforms/wayland/qwayland-shadow.cpp:78
#5  0x00007f39c34c853b in WindowShadow::internalDestroy (this=0x5621b6f07050) at /home/build/YPKG/root/kf6-kwindowsystem/build/kwindowsystem-6.2.0/src/platforms/wayland/windowshadow.cpp:195
#6  0x00007f39d0983d6a in KWindowShadow::destroy (this=0x5621b304be00) at /home/build/YPKG/root/kf6-kwindowsystem/build/kwindowsystem-6.2.0/src/kwindowshadow.cpp:266
#7  KWindowShadow::~KWindowShadow (this=0x5621b304be00) at /home/build/YPKG/root/kf6-kwindowsystem/build/kwindowsystem-6.2.0/src/kwindowshadow.cpp:65
#8  0x00007f39d0983dcf in KWindowShadow::~KWindowShadow (this=0x0) at /home/build/YPKG/root/kf6-kwindowsystem/build/kwindowsystem-6.2.0/src/kwindowshadow.cpp:64
#9  0x00007f39ce349561 in QObjectPrivate::deleteChildren (this=0x5621b19c64b0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qobject.cpp:2222
#10 0x00007f39ce348d19 in QObject::~QObject (this=0x5621b19c6480) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qobject.cpp:1172
#11 0x00007f39d0e2d4a7 in DialogShadows::~DialogShadows (this=0x5621b19c6480) at /home/build/YPKG/root/libplasma/build/libplasma-6.0.5/src/plasmaquick/dialogshadows.cpp:63
#12 DialogShadows::~DialogShadows (this=0x5621b19c6480) at /home/build/YPKG/root/libplasma/build/libplasma-6.0.5/src/plasmaquick/dialogshadows.cpp:61
#13 0x00007f39ce349561 in QObjectPrivate::deleteChildren (this=0x5621afe98bd0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qobject.cpp:2222
#14 0x00007f39ce348d19 in QObject::~QObject (this=0x7ffedf90a2d0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qobject.cpp:1172
#15 0x00007f39cea94c6f in QGuiApplication::~QGuiApplication (this=0x7ffedf90a2d0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.7.1/src/gui/kernel/qguiapplication.cpp:702
#16 0x00007f39d0242277 in QApplication::~QApplication (this=0x7ffedf90a2d0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.7.1/src/widgets/kernel/qapplication.cpp:722
#17 0x00005621adf83865 in ??? ()
#18 0x00007f39cda4030e in __libc_start_call_main (main=main@entry=0x5621adf82280, argc=argc@entry=2, argv=argv@entry=0x7ffedf90a478) at ../sysdeps/nptl/libc_start_call_main.h:58
#19 0x00007f39cda403c9 in __libc_start_main_impl (main=0x5621adf82280, argc=2, argv=0x7ffedf90a478, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffedf90a468) at ../csu/libc-start.c:360
#20 0x00005621adf77115 in ??? ()


Operating System: Solus 4.5
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.1
Kernel Version: 6.8.10-291.current (64-bit)
Graphics Platform: offscreen
Processors: 16 × AMD Ryzen 7 PRO 4750U with Radeon Graphics
Memory: 29.1 GiB of RAM
Comment 1 David Edmundson 2024-05-28 09:00:25 UTC
*** Bug 479742 has been marked as a duplicate of this bug. ***
Comment 2 TraceyC 2024-07-11 17:33:38 UTC
Confirming since there's a good backtrace and a duplicate report
Comment 3 cwo 2025-02-20 15:15:18 UTC
*** Bug 500465 has been marked as a duplicate of this bug. ***
Comment 4 cwo 2025-02-20 15:19:24 UTC
*** Bug 491788 has been marked as a duplicate of this bug. ***
Comment 5 TraceyC 2025-04-15 18:48:44 UTC
*** Bug 502823 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2025-04-28 16:07:36 UTC
*** Bug 503459 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2025-04-28 16:07:47 UTC
*** Bug 503460 has been marked as a duplicate of this bug. ***
Comment 8 Nate Graham 2025-04-28 16:07:50 UTC
*** Bug 495128 has been marked as a duplicate of this bug. ***
Comment 9 Bug Janitor Service 2025-05-28 10:27:16 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5530
Comment 10 Bug Janitor Service 2025-05-28 11:53:38 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwindowsystem/-/merge_requests/181
Comment 11 Vlad Zahorodnii 2025-05-28 13:28:11 UTC
Git commit e2326d7f9e752eb18411ef4c0bcd53b8f34e02c6 by Vlad Zahorodnii.
Committed on 28/05/2025 at 13:13.
Pushed by vladz into branch 'master'.

shell: Rearrange the teardown order

At the moment, the ShellCorona is destroyed after the QApplication object.
Destroying something after the application object can lead to
unexpected results because most of the code is written with an assumption
that the app object and the associated objects, e.g. the qpa, are still
valid when the cleanup code runs.

This change puts the ShellCorona on the stack so the destruction order
looks as follows:

- destroy ShellCorona
- destroy QApplication

M  +7    -10   shell/main.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/e2326d7f9e752eb18411ef4c0bcd53b8f34e02c6
Comment 12 Bug Janitor Service 2025-05-28 13:36:47 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5536
Comment 13 Vlad Zahorodnii 2025-05-28 13:53:24 UTC
Git commit 88911e8246c0136fa07945304fc9ba7840b90f8f by Vlad Zahorodnii.
Committed on 28/05/2025 at 13:36.
Pushed by vladz into branch 'Plasma/6.4'.

shell: Rearrange the teardown order

At the moment, the ShellCorona is destroyed after the QApplication object.
Destroying something after the application object can lead to
unexpected results because most of the code is written with an assumption
that the app object and the associated objects, e.g. the qpa, are still
valid when the cleanup code runs.

This change puts the ShellCorona on the stack so the destruction order
looks as follows:

- destroy ShellCorona
- destroy QApplication


(cherry picked from commit e2326d7f9e752eb18411ef4c0bcd53b8f34e02c6)

Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>

M  +7    -10   shell/main.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/88911e8246c0136fa07945304fc9ba7840b90f8f
Comment 14 Bug Janitor Service 2025-05-28 14:32:10 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1316
Comment 15 Nate Graham 2025-09-19 15:14:43 UTC
No new duplicates since those patches went in; we think this is fixed in Plasma 6.5, or possibly a bit earlier.

We can re-open if we get any new reports.
Comment 16 Nate Graham 2025-09-24 20:39:30 UTC
*** Bug 507029 has been marked as a duplicate of this bug. ***