Bug 484531

Summary: plasmashell sometimes crashes when pasting image from clipboard
Product: [Plasma] plasmashell Reporter: deresiant
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: akselmo, nicolas.fella
Priority: NOR Keywords: drkonqi
Version First Reported In: 6.0.2   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description deresiant 2024-03-26 14:57:37 UTC
Application: plasmashell (6.0.2)

Qt Version: 6.7.0
Frameworks Version: 6.0.0
Operating System: Linux 6.8.0-273-tkg-bore x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.0.2 [CoredumpBackend]

-- Information about the crash:
This happens specifically when I use my custom keyboard shortcut for copying a screen region to clipboard using spectacle.
I have a shortcut which runs the below script
#!/usr/bin/sh
exec /usr/bin/spectacle -e -b -r -n -c

Upon copying, it is fine. But when I paste it to another application (I've only tried the chat application Discord), most of the time, plasmashell crashes and the image does not paste.

Using the default keybind for "Capture Rectangular Region" works seems to work fine, I haven't had any issues with it, but this option also saves the image to disk which I don't want.

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#5  QMimeData::hasText (this=this@entry=0x7a1e840b3f30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/tools/qarraydatapointer.h:439
#6  0x00007a1e4ae6c603 in Klipper::checkClipData (this=0x7a1d4401e230, selectionMode=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.2/klipper/klipper.cpp:784
#7  0x00007a1e90597529 in QtPrivate::QSlotObjectBase::call (a=0x7fff9ebfb900, r=0x7a1d4401e230, this=0x59b62a9ea420, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobjectdefs_impl.h:469
#8  doActivate<false> (sender=0x59b62a9e7a20, signal_index=3, argv=0x7fff9ebfb900) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobject.cpp:4078
#9  0x00007a1e8fc80803 in KSystemClipboard::changed (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kguiaddons/build/src/KF6GuiAddons_autogen/include/moc_ksystemclipboard.cpp:169


Reported using DrKonqi
Comment 1 deresiant 2024-03-26 14:57:42 UTC
Created attachment 167798 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nicolas Fella 2024-03-26 15:15:20 UTC
#5  QMimeData::hasText (this=this@entry=0x7a1e840b3f30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/tools/qarraydatapointer.h:439
#6  0x00007a1e4ae6c603 in Klipper::checkClipData (this=0x7a1d4401e230, selectionMode=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.2/klipper/klipper.cpp:784
#7  0x00007a1e90597529 in QtPrivate::QSlotObjectBase::call (a=0x7fff9ebfb900, r=0x7a1d4401e230, this=0x59b62a9ea420, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobjectdefs_impl.h:469
#8  doActivate<false> (sender=0x59b62a9e7a20, signal_index=3, argv=0x7fff9ebfb900) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobject.cpp:4078
#9  0x00007a1e8fc80803 in KSystemClipboard::changed (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kguiaddons/build/src/KF6GuiAddons_autogen/include/moc_ksystemclipboard.cpp:169
#10 0x00007a1e90597529 in QtPrivate::QSlotObjectBase::call (a=0x7fff9ebfb9b8, r=0x59b62a9e7a20, this=0x59b62a9ea6d0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobjectdefs_impl.h:469
#11 doActivate<false> (sender=0x59b62a9e6740, signal_index=3, argv=0x7fff9ebfb9b8) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobject.cpp:4078
#12 0x00007a1e920a3596 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#13 0x00007a1e920a000e in ffi_call_int (cif=cif@entry=0x7fff9ebfbbc0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#14 0x00007a1e920a2bd3 in ffi_call (cif=cif@entry=0x7fff9ebfbbc0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fff9ebfbc90) at ../src/x86/ffi64.c:710
#15 0x00007a1e92d75645 in wl_closure_invoke (closure=closure@entry=0x7a1e7807ed80, target=<optimized out>, target@entry=0x59b62a9ea110, opcode=opcode@entry=1, data=<optimized out>, flags=1) at ../wayland-1.22.0/src/connection.c:1025
#16 0x00007a1e92d75e73 in dispatch_event (display=display@entry=0x59b6283ebf50, queue=0x59b6283ec040) at ../wayland-1.22.0/src/wayland-client.c:1631
#17 0x00007a1e92d7613c in dispatch_queue (queue=0x59b6283ec040, display=0x59b6283ebf50) at ../wayland-1.22.0/src/wayland-client.c:1777
#18 wl_display_dispatch_queue_pending (display=0x59b6283ebf50, queue=0x59b6283ec040) at ../wayland-1.22.0/src/wayland-client.c:2019
#19 0x00007a1e929a0b5e in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x59b6283f6940) at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.7.0-rc/src/client/qwaylanddisplay.cpp:227
#20 0x00007a1e90588304 in QObject::event (this=0x59b6283ebd00, e=0x7a1e7c010bb0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qobject.cpp:1446
#21 0x00007a1e922fbf1b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x59b6283ebd00, e=0x7a1e7c010bb0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/widgets/kernel/qapplication.cpp:3287
#22 0x00007a1e9053daf8 in QCoreApplication::notifyInternal2 (receiver=0x59b6283ebd00, event=event@entry=0x7a1e7c010bb0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qcoreapplication.cpp:1134
#23 0x00007a1e9053de84 in QCoreApplication::sendEvent (event=0x7a1e7c010bb0, receiver=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qcoreapplication.cpp:1575
#24 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x59b6283baba0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qcoreapplication.cpp:1932
#25 0x00007a1e90785ee4 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qcoreapplication.cpp:1789
#26 postEventSourceDispatch (s=0x59b6283e8c40) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#27 0x00007a1e8f0a8199 in g_main_dispatch (context=0x7a1e84000f00) at ../glib/glib/gmain.c:3344
#28 0x00007a1e8f1073bf in g_main_context_dispatch_unlocked (context=0x7a1e84000f00) at ../glib/glib/gmain.c:4152
#29 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7a1e84000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4217
#30 0x00007a1e8f0a7712 in g_main_context_iteration (context=0x7a1e84000f00, may_block=1) at ../glib/glib/gmain.c:4282
#31 0x00007a1e90783bf4 in QEventDispatcherGlib::processEvents (this=0x59b6284020c0, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#32 0x00007a1e90545c8e in QEventLoop::processEvents (flags=..., this=0x7fff9ebfc280) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qeventloop.cpp:100
#33 QEventLoop::exec (this=0x7fff9ebfc280, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/kernel/qeventloop.cpp:182
#34 0x00007a1e905416f8 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/corelib/global/qflags.h:74
#35 0x00007a1e922f846a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0-rc/src/widgets/kernel/qapplication.cpp:2555
#36 0x000059b62713b476 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.2/shell/main.cpp:214
Comment 3 deresiant 2024-04-26 12:38:22 UTC
Just had it a happen a few times and crash happens on copying the image, not pasting, there's just a ~2 second delay for the plasma shell crash.
Comment 4 Akseli Lahtinen 2024-06-10 13:06:19 UTC

*** This bug has been marked as a duplicate of bug 487575 ***