Bug 448717 - Plasmashell crashes in DataControlSource::zwlr_data_control_source_v1_send() upon opening the Application Launcher
Summary: Plasmashell crashes in DataControlSource::zwlr_data_control_source_v1_send() ...
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Launcher (Kickoff) widget (show other bugs)
Version: 5.23.90
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: wayland-only
Depends on:
Blocks:
 
Reported: 2022-01-18 14:02 UTC by Jaroslav Krpálek
Modified: 2024-07-03 03:47 UTC (History)
7 users (show)

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


Attachments
Here is the gdb backtrace from the crash. (20.70 KB, text/plain)
2022-01-18 14:02 UTC, Jaroslav Krpálek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaroslav Krpálek 2022-01-18 14:02:23 UTC
Created attachment 145614 [details]
Here is the gdb backtrace from the crash.

SUMMARY
Opening the Kickoff menu either results in plasmashell crashing, or it loads extremely slowly. Mostly the former.

STEPS TO REPRODUCE
1. Open the Application Menu
2. Hope for it to load
3. It's either done, or it loaded after ~10s. If it's the latter, try again, and there's about a 70% chance it will crash.

OBSERVED RESULT
Plasmashell crashes repeatedly every time I open the Application Menu

EXPECTED RESULT
The Application menu should be up and running to one's service.

SOFTWARE/OS VERSIONS
Arch Linux; kernel 5.16.1-zen1-1-zen
KDE Plasma Version: 5.23.90
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2
Graphics platform: Wayland
Comment 1 Marco Martin 2022-01-18 14:50:29 UTC
Thread 1 (Thread 0x7f1ea3b2ef40 (LWP 9166) "plasmashell"):
#0  0x00007f1ea832d93f in write () at /usr/lib/libc.so.6
#1  0x00007f1ea88256e6 in QFSFileEngine::write(char const*, long long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f1ea87f7d38 in QFileDevice::flush() () at /usr/lib/libQt5Core.so.5
#3  0x00007f1ea87f84c9 in QFileDevice::close() () at /usr/lib/libQt5Core.so.5
#4  0x00007f1ea7d88f2f in  () at /usr/lib/libKF5GuiAddons.so.5
#5  0x00007f1ea7d82d7d in  () at /usr/lib/libKF5GuiAddons.so.5
#6  0x00007f1ea81ecd4a in  () at /usr/lib/libffi.so.8
#7  0x00007f1ea81ec267 in  () at /usr/lib/libffi.so.8
#8  0x00007f1eaa822323 in  () at /usr/lib/libwayland-client.so.0
#9  0x00007f1eaa81e5ab in  () at /usr/lib/libwayland-client.so.0
#10 0x00007f1eaa81ff4c in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0
#11 0x00007f1ea6521af1 in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib/libQt5WaylandClient.so.5
#12 0x00007f1ea88dc61f in  () at /usr/lib/libQt5Core.so.5
#13 0x00007f1ea88f6d25 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#14 0x00007f1ea88a3bab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007f1ea88af3e7 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#16 0x000055bdfa9b24d2 in  ()
#17 0x00007f1ea8265b25 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x000055bdfa9b289e in  ()
Detaching from program: /usr/bin/plasmashell, process 9166
[Inferior 1 (process 9166) detached]
Comment 2 Nicolas Fella 2022-01-20 13:08:15 UTC
Hard to tell without debug symbols, but since it's going from wayland stuff into KGuiAddons it might be related to the systemclipboard stuff
Comment 3 Nicolas Fella 2022-01-20 13:11:46 UTC
Could be related to https://bugs.kde.org/show_bug.cgi?id=447060
Comment 4 Nate Graham 2022-01-20 23:01:11 UTC
Bug 447060 is fixed in 5.90, and this bug is reported against 5.90, so it's probably not that.

1. Is this for the Application *Menu* (AKA Kicker) or Application *Launcher* (AKA Kickoff)?
2. Can you install debug symbols for KGuiAddons, reproduce the crash, and attach a new backtrace?

Thanks!
Comment 5 Jaroslav Krpálek 2022-01-21 14:54:23 UTC
(In reply to Nate Graham from comment #4)
> Bug 447060 is fixed in 5.90, and this bug is reported against 5.90, so it's
> probably not that.
> 
> 1. Is this for the Application *Menu* (AKA Kicker) or Application *Launcher*
> (AKA Kickoff)?
It is Kickoff. Apologies for making a mess in that.
> 2. Can you install debug symbols for KGuiAddons, reproduce the crash, and
> attach a new backtrace?
Will do! Please give me some time, as I do not have a lot of it at the moment, but I will definitely try to report back this weekend.
> Thanks!
You're welcome!
Comment 6 Jaroslav Krpálek 2022-01-21 15:15:35 UTC
(In reply to krpisjar from comment #5)
> Will do! Please give me some time, as I do not have a lot of it at the
> moment, but I will definitely try to report back this weekend.
That was quicker than anticipated. Here goes. Also was my first "successful" attempt at compiling with debug symbols. If there is something wrong, let me know, and I'll get right down to it.

Thread 1 (Thread 0x7f654e899f40 (LWP 1032) "plasmashell"):
#0  0x00007f65530a793f in write () at /usr/lib/libc.so.6
#1  0x00007f65535a0956 in QFSFileEngine::write(char const*, long long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f6553572ea8 in QFileDevice::flush() () at /usr/lib/libQt5Core.so.5
#3  0x00007f6553573639 in QFileDevice::close() () at /usr/lib/libQt5Core.so.5
#4  0x00007f6552aea9ed in DataControlSource::zwlr_data_control_source_v1_send(QString const&, int) (this=0x5572212b33e0, mime_type=..., fd=55) at /home/carbon/kguiaddons/src/systemclipboard/waylandclipboard.cpp:357
#5  0x00007f6552ae811e in QtWayland::zwlr_data_control_source_v1::handle_send(void*, zwlr_data_control_source_v1*, char const*, int) (data=0x5572212b33f0, object=0x5572212b3360, mime_type=0x7f654800c20c "text/plain;charset=utf-8", fd=55) at /home/carbon/kguiaddons/debugsym/src/qwayland-wlr-data-control-unstable-v1.cpp:298
#6  0x00007f6552f66d4a in  () at /usr/lib/libffi.so.8
#7  0x00007f6552f66267 in  () at /usr/lib/libffi.so.8
#8  0x00007f655559d323 in  () at /usr/lib/libwayland-client.so.0
#9  0x00007f65555995ab in  () at /usr/lib/libwayland-client.so.0
#10 0x00007f655559af4c in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0
#11 0x00007f655127a426 in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib/libQt5WaylandClient.so.5
#12 0x00007f6553656def in  () at /usr/lib/libQt5Core.so.5
#13 0x00007f65536714f5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#14 0x00007f655361e45b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007f6553629ba7 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#16 0x000055721d4ee4d2 in  ()
#17 0x00007f6552fdfb25 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x000055721d4ee89e in  ()
Detaching from program: /usr/bin/plasmashell, process 1032
[Inferior 1 (process 1032) detached]
Comment 7 Nate Graham 2022-01-21 16:53:57 UTC
Thank you, that's very helpful!
Comment 8 Nate Graham 2022-07-05 16:54:18 UTC
Is this still reproducible for you in Plasma 5.25? We made some clipboard changes that might have fixed this. Would you mind checking? Thanks!
Comment 9 Bug Janitor Service 2022-07-20 04:36:32 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 10 Jaroslav Krpálek 2022-07-28 10:48:40 UTC
(In reply to Nate Graham from comment #8)
> Is this still reproducible for you in Plasma 5.25? We made some clipboard
> changes that might have fixed this. Would you mind checking? Thanks!

I checked on my laptop and it does not occur anymore, so I would say, it was fixed :-)
Good work!
Comment 11 Nate Graham 2022-07-28 20:09:46 UTC
Great news!
Comment 12 Antonio Rojas 2022-10-19 07:01:49 UTC
I'm still seeing this in 5.26.1. When running plasmashell in gdb it crashes immediately

#0  __GI___libc_write (nbytes=32, buf=0x555557840968, fd=39) at ../sysdeps/unix/sysv/linux/write.c:26
#1  __GI___libc_write (fd=39, buf=0x555557840968, nbytes=32) at ../sysdeps/unix/sysv/linux/write.c:24
#2  0x00007ffff50d3a31 in DataControlSource::zwlr_data_control_source_v1_send(QString const&, int)
    (this=<optimized out>, mime_type=<optimized out>, fd=39) at /usr/src/debug/kguiaddons-5.99.0/src/systemclipboard/waylandclipboard.cpp:363
#3  0x00007ffff50c94ee in QtWayland::zwlr_data_control_source_v1::handle_send(void*, zwlr_data_control_source_v1*, char const*, int)
    (data=0x5555568d3bb0, object=<optimized out>, mime_type=0x7fffdc0220cc "text/plain;charset=utf-8", fd=39)
    at /usr/src/debug/build/src/qwayland-wlr-data-control-unstable-v1.cpp:298
#4  0x00007ffff551e4f6 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#5  0x00007ffff551af5e in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>)
    at ../src/x86/ffi64.c:673
#6  0x00007ffff551db73 in ffi_call (cif=cif@entry=0x7fffffffdc00, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fffffffdcd0)
    at ../src/x86/ffi64.c:710
#7  0x00007ffff7db8645 in wl_closure_invoke (closure=closure@entry=0x7fffdc021ff0, target=<optimized out>, 
    target@entry=0x5555568d3ad0, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../wayland-1.21.0/src/connection.c:1025
#8  0x00007ffff7db8e03 in dispatch_event (display=display@entry=0x55555563bb70, queue=0x55555563bc40) at ../wayland-1.21.0/src/wayland-client.c:1595
#9  0x00007ffff7db8ffc in dispatch_queue (queue=0x55555563bc40, display=0x55555563bb70) at ../wayland-1.21.0/src/wayland-client.c:1741
#10 wl_display_dispatch_queue_pending (display=0x55555563bb70, queue=0x55555563bc40) at ../wayland-1.21.0/src/wayland-client.c:1983
#11 0x00007ffff5599b56 in QtWaylandClient::QWaylandDisplay::flushRequests() (this=<optimized out>)
    at /usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:253
#12 0x00007ffff5e82530 in doActivate<false>(QObject*, int, void**) (sender=0x555555676970, signal_index=4, argv=0x7fffffffdf00)
    at kernel/qobject.cpp:3931
#13 0x00007ffff5e9c547 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555676970, flags=...)
    at kernel/qeventdispatcher_glib.cpp:430
#14 0x00007ffff5e4a32c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffffe020, flags=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#15 0x00007ffff5e54e59 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#16 0x00007ffff62220e2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#17 0x00007ffff6aaff2a in QApplication::exec() () at kernel/qapplication.cpp:2829
#18 0x000055555557710f in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.26.1/shell/main.cpp:233
Comment 13 Nate Graham 2023-05-17 18:43:10 UTC
How about on Plasma 5.27.5? :p
Comment 14 Akseli Lahtinen 2024-06-03 13:24:46 UTC
Has this been happening on Plasma 6?
Comment 15 Bug Janitor Service 2024-06-18 03:46:58 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 16 Bug Janitor Service 2024-07-03 03:47:34 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!