Bug 495128 - Crash in wayland-shadow-client-protocol
Summary: Crash in wayland-shadow-client-protocol
Status: REPORTED
Alias: None
Product: frameworks-kwindowsystem
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-21 09:08 UTC by Akseli Lahtinen
Modified: 2024-10-21 11:06 UTC (History)
0 users

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


Attachments
Backtrace with all threads (38.37 KB, text/plain)
2024-10-21 09:11 UTC, Akseli Lahtinen
Details
Journal entries from around the crash (11.88 KB, text/plain)
2024-10-21 09:32 UTC, Akseli Lahtinen
Details
bigger journal logs (620.76 KB, text/plain)
2024-10-21 11:06 UTC, Akseli Lahtinen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Akseli Lahtinen 2024-10-21 09:08:08 UTC
SUMMARY

A random crash in wayland-shadow-client-protocol.h:115

This happened when I was trying to drag and drop an image from firefox (duckduckgo image search) to kolourpaint.

I had discord video and voice chat also running.

STEPS TO REPRODUCE
1. Open kolourpaint
2. Search for an image with firefox
3. Drag and drop that image from firefox to kolourpaint

OBSERVED RESULT
Crash

EXPECTED RESULT
No crash

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 40
KDE Plasma Version: 6.2.80
KDE Frameworks Version: 6.8.0
Qt Version: 6.7.2
Kernel Version: 6.11.3-200.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 15,5 GiB of RAM
Graphics Processor: AMD Radeon RX 6600

ADDITIONAL INFORMATION

Backtrace:

#0  0x00007fa4322dd7f8 in KCrash::defaultCrashHandler (sig=11)
at /home/akseli/Repositories/kde/src/kcrash/src/kcrash.cpp:529
#1  0x00007fa42e64fd00 in <signal handler called> () at /lib64/libc.so.6
#2  wl_proxy_get_version (proxy=0x0) at ../../src/wayland/src/wayland-client.c:2324
#3  0x00007fa419386e45 in org_kde_kwin_shadow_manager_unset (org_kde_kwin_shadow_manager=0x0, surface=0x7580c60)
at /home/akseli/Repositories/kde/build/kwindowsystem/src/platforms/wayland/wayland-shadow-client-protocol.h:115
#4  QtWayland::org_kde_kwin_shadow_manager::unset (this=<optimized out>, surface=0x7580c60)
at /home/akseli/Repositories/kde/build/kwindowsystem/src/platforms/wayland/qwayland-shadow.cpp:78
#5  0x00007fa419397d4c in WindowShadow::internalDestroy (this=0x7571a20)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/platforms/wayland/windowshadow.cpp:48
#6  0x00007fa4313bec22 in KWindowShadow::destroy (this=this@entry=0x758b060)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/kwindowshadow.cpp:266
#7  0x00007fa4313bec47 in KWindowShadow::~KWindowShadow (this=0x758b060, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/kwindowshadow.cpp:65
#8  0x00007fa4313bec69 in KWindowShadow::~KWindowShadow (this=0x758b060, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/kwindowshadow.cpp:66
#9  0x00007fa42edf415d in QObjectPrivate::deleteChildren (this=this@entry=0x753c1b0)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:2222
#10 0x00007fa42edf9554 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:1172
#11 0x00007fa432672349 in DialogShadows::~DialogShadows (this=0x753c180, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/dialogshadows.cpp:63
#12 0x00007fa42edf415d in QObjectPrivate::deleteChildren (this=this@entry=0x50bc290)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:2222
#13 0x00007fa42edf9554 in QObject::~QObject (this=this@entry=0x50bc290, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:1172
#14 0x00007fa42ed99d7e in QCoreApplication::~QCoreApplication (this=this@entry=0x50bc290, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:978
#15 0x00007fa42f7d6fb7 in QGuiApplication::~QGuiApplication (this=this@entry=0x50bc290, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:702
#16 0x00007fa43158c031 in QApplication::~QApplication (this=this@entry=0x7ffdc14cb070, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/widgets/kernel/qapplication.cpp:722
#17 0x0000000000427bd2 in main (argc=<optimized out>, argv=<optimized out>)
at /home/akseli/Repositories/kde/src/plasma-workspace/shell/main.cpp:193
Comment 1 Akseli Lahtinen 2024-10-21 09:11:40 UTC
Created attachment 175072 [details]
Backtrace with all threads

Backtrace with `bt thread apply all`
Comment 2 Akseli Lahtinen 2024-10-21 09:15:41 UTC
Plausible cause could be that when I was moving the image from firefox to kolourpaint, it was supposed to show me a notification that its transfering the file, but it was transfered so fast (or something else) that the notification got out of sync?
Comment 3 Akseli Lahtinen 2024-10-21 09:27:02 UTC
Another related backtrace:

#0  0x00007fab6b7317f8 in KCrash::defaultCrashHandler (sig=11)
at /home/akseli/Repositories/kde/src/kcrash/src/kcrash.cpp:529
#1  0x00007fab67a4fd00 in <signal handler called> () at /lib64/libc.so.6
#2  wl_proxy_get_version (proxy=0x0) at ../../src/wayland/src/wayland-client.c:2324
#3  0x00007fab5303ce45 in org_kde_kwin_shadow_manager_unset (org_kde_kwin_shadow_manager=0x0, surface=0x2c126df0)
at /home/akseli/Repositories/kde/build/kwindowsystem/src/platforms/wayland/wayland-shadow-client-protocol.h:115
#4  QtWayland::org_kde_kwin_shadow_manager::unset (this=<optimized out>, surface=0x2c126df0)
at /home/akseli/Repositories/kde/build/kwindowsystem/src/platforms/wayland/qwayland-shadow.cpp:78
#5  0x00007fab5304dd4c in WindowShadow::internalDestroy (this=0x2c116920)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/platforms/wayland/windowshadow.cpp:48
#6  0x00007fab6a80dc22 in KWindowShadow::destroy (this=this@entry=0x2c123ba0)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/kwindowshadow.cpp:266
#7  0x00007fab6a80dc47 in KWindowShadow::~KWindowShadow (this=0x2c123ba0, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/kwindowshadow.cpp:65
#8  0x00007fab6a80dc69 in KWindowShadow::~KWindowShadow (this=0x2c123ba0, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/kwindowsystem/src/kwindowshadow.cpp:66
#9  0x00007fab681f415d in QObjectPrivate::deleteChildren (this=this@entry=0x2c0d5450)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:2222
#10 0x00007fab681f9554 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:1172
#11 0x00007fab6bac62c9 in QHashPrivate::Data<QHashPrivate::Node<QWindow*, QFlags<KSvg::FrameSvg::EnabledBorder> > >::~Data
(this=0x7fff08d8c430, __in_chrg=<optimized out>) at /usr/include/qt6/QtCore/qhash.h:770
#12 QHash<QWindow*, QFlags<KSvg::FrameSvg::EnabledBorder> >::~QHash (this=<optimized out>, __in_chrg=<optimized out>)
at /usr/include/qt6/QtCore/qhash.h:855
#13 QHash<QWindow*, QFlags<KSvg::FrameSvg::EnabledBorder> >::~QHash (this=0x29cb02b0, __in_chrg=<optimized out>)
at /usr/include/qt6/QtCore/qhash.h:849
#14 DialogShadows::Private::~Private (this=0x29cb02a8, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/dialogshadows.cpp:23
#15 DialogShadows::~DialogShadows (this=0x2a, __in_chrg=<optimized out>)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/dialogshadows.cpp:62
#16 0x000000002bd68a30 in ??? ()
#17 0x0000000029cb0290 in ??? ()
#18 0x00007fab6a93a450 in guard variable for KSignalHandler::self()::s_self ()
at /home/akseli/Repositories/kde/usr/lib64/libKF6CoreAddons.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#19 0x00007fff08d8c4e0 in ??? ()
#20 0x00007fab681f9554 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:1172
Comment 4 Akseli Lahtinen 2024-10-21 09:32:10 UTC
Created attachment 175074 [details]
Journal entries from around the crash

Some journal entries around the crash. This part looks interesting:

Oct 20 20:14:46 fedora-desktop kolourpaint[13508]: request could not be marshaled: can't send file descriptor
Oct 20 20:14:46 fedora-desktop kolourpaint[13508]: Error sending request: Too many references: cannot splice
Oct 20 20:14:46 fedora-desktop kolourpaint[13508]: The Wayland connection experienced a fatal error: Too many references: cannot splice
...
Oct 20 20:14:46 fedora-desktop kernel: show_signal: 32 callbacks suppressed
Oct 20 20:14:46 fedora-desktop kernel: traps: ThreadPoolSingl[3175] trap int3 ip:55a83a0544aa sp:7feda77fe880 error:0 in obsidian[5e3f4aa,55a836208000+8657000]
Comment 5 Akseli Lahtinen 2024-10-21 11:06:51 UTC
Created attachment 175076 [details]
bigger journal logs

same as above but more stuff, should be from crash to next boot