Bug 465225

Summary: plasmashell crashed in Klipper::saveClipboardHistory() and failed to recover
Product: [Plasma] plasmashell Reporter: Pawel <bednarczyk.pawel>
Component: ClipboardAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: bednarczyk.pawel, kde, kde, kde, laubblaeser, nate, oded, qydwhotmail
Priority: VHI Keywords: drkonqi, regression, wayland
Version: 5.26.90   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=465326
https://bugs.kde.org/show_bug.cgi?id=464828
https://bugs.kde.org/show_bug.cgi?id=465603
Latest Commit: Version Fixed In: 5.27
Sentry Crash Report:

Description Pawel 2023-02-03 12:26:46 UTC
Application: plasmashell (5.26.90)

Qt Version: 5.15.8
Frameworks Version: 5.102.0
Operating System: Linux 6.1.9-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.26.90 [KCrashBackend]

-- Information about the crash:
just a random black screen. Might be clipboard related but it's just a guess as it hanged as I was copying stuff. 

plasma did not auto-recover, I has to run the below:

> $ plasmashell --replace </dev/null &>/dev/null & disown                                                                                                

full dump attached

This is on Wayland

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Aborted
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#6  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#7  0x00007fccf20a16b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#8  0x00007fccf2051938 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#9  0x00007fccf203b53d in __GI_abort () at abort.c:79
#10 0x00007fccf229a833 in __gnu_cxx::__verbose_terminate_handler() () at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
#11 0x00007fccf22a6ccc in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>) at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
#12 0x00007fccf22a6d39 in std::terminate() () at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:58
#13 0x00007fccf269fbcc in qTerminate() () at global/qglobal.cpp:3382
#14 0x00007fccf26a18d7 in QThreadPrivate::start(void*) (arg=0x7fcc88e17550) at thread/qthread_unix.cpp:342
#15 0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#16 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 20 (Thread 0x7fcc1d5ee6c0 (LWP 121328) "KCupsConnection"):
#1  0x00007fff9b7f59a0 in clock_gettime ()
#2  0x00007fccf20e671d in __GI___clock_gettime (clock_id=<optimized out>, tp=tp@entry=0x7fcc1d5ed870) at ../sysdeps/unix/sysv/linux/clock_gettime.c:42
#3  0x00007fccf14ef3d9 in sysprof_clock_get_current_time () at /usr/include/sysprof-4/sysprof-clock.h:88
#4  g_main_context_prepare (context=0x7fcc0c000c30, priority=0x7fcc1d5ed928) at ../glib/glib/gmain.c:3772
#5  0x00007fccf1546a96 in g_main_context_iterate.constprop.0 (context=0x7fcc0c000c30, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4228
#6  0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcc0c000c30, may_block=1) at ../glib/glib/gmain.c:4313
#7  0x00007fccf28d8c8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc0c000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#8  0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc1d5eda80, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#9  0x00007fccf26e725f in QThread::exec() (this=this@entry=0x564b17e5db60) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#10 0x00007fcc5c270bee in KCupsConnection::run() (this=0x564b17e5db60) at /usr/src/debug/print-manager/print-manager-22.12.2/libkcups/KCupsConnection.cpp:289
#11 0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b17e5db60) at thread/qthread_unix.cpp:330
#12 0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#13 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 19 (Thread 0x7fcc1ebff6c0 (LWP 121323) "plasmashel:sh2"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15ebc5b4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15ebc5b4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15ebc560, cond=0x564b15ebc588) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15ebc588, mutex=0x564b15ebc560) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 18 (Thread 0x7fcc1ffff6c0 (LWP 121318) "Qt bearer threa"):
#1  0x00007fccf1546c2f in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fcc140025e0, timeout=<optimized out>, context=0x7fcc14000c30) at ../glib/glib/gmain.c:4553
#2  g_main_context_iterate.constprop.0 (context=0x7fcc14000c30, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4243
#3  0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcc14000c30, may_block=1) at ../glib/glib/gmain.c:4313
#4  0x00007fccf28d8c8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc14000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc1fffeac0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fccf26e725f in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b17b40fc0) at thread/qthread_unix.cpp:330
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 17 (Thread 0x7fcc3cff96c0 (LWP 121317) "QQuickXmlQueryE"):
#1  0x00007fccf14efbc3 in g_main_context_check (context=0x7fcc18000c30, max_priority=2147483647, fds=<optimized out>, n_fds=<optimized out>) at ../glib/glib/gmain.c:4048
#2  0x00007fccf1546b28 in g_main_context_iterate.constprop.0 (context=0x7fcc18000c30, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4245
#3  0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcc18000c30, may_block=1) at ../glib/glib/gmain.c:4313
#4  0x00007fccf28d8c8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc18000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc3cff8aa0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fccf26e725f in QThread::exec() (this=this@entry=0x564b17b328b0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007fcca00ce12e in QQuickXmlQueryEngine::run() (this=0x564b17b328b0) at /usr/src/debug/qt5-xmlpatterns/qtxmlpatterns/src/imports/xmllistmodel/qqmlxmllistmodel.cpp:325
#8  0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b17b328b0) at thread/qthread_unix.cpp:330
#9  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#10 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 16 (Thread 0x7fcc3d7fa6c0 (LWP 121302) "plasmashell"):
#1  __pselect (nfds=4, readfds=0x7fcc3d7f19d0, writefds=0x0, exceptfds=0x0, timeout=<optimized out>, sigmask=<optimized out>) at ../sysdeps/unix/sysv/linux/pselect.c:56
#2  0x00007fccf0296524 in  () at /usr/lib/libusbmuxd-2.0.so.6
#3  0x00007fccf02978a9 in  () at /usr/lib/libusbmuxd-2.0.so.6
#4  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#5  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 15 (Thread 0x7fcca21fc6c0 (LWP 121267) "QQuickPixmapRea"):
#1  0x00007fccf1546c2f in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fcc880051f0, timeout=<optimized out>, context=0x7fcc88000c30) at ../glib/glib/gmain.c:4553
#2  g_main_context_iterate.constprop.0 (context=0x7fcc88000c30, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4243
#3  0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcc88000c30, may_block=1) at ../glib/glib/gmain.c:4313
#4  0x00007fccf28d8c8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcc88000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcca21fba80, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fccf26e725f in QThread::exec() (this=this@entry=0x564b16d51a00) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007fccf4355caf in QQuickPixmapReader::run() (this=0x564b16d51a00) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/util/qquickpixmapcache.cpp:1024
#8  0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b16d51a00) at thread/qthread_unix.cpp:330
#9  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#10 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 14 (Thread 0x7fcca29fd6c0 (LWP 121266) "plasmashel:sh1"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15ebc5b4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15ebc5b4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15ebc560, cond=0x564b15ebc588) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15ebc588, mutex=0x564b15ebc560) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 13 (Thread 0x7fcca3fff6c0 (LWP 121263) "plasmash:gdrv0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b16cb70c0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b16cb70c0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b16cb7070, cond=0x564b16cb7098) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b16cb7098, mutex=0x564b16cb7070) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 12 (Thread 0x7fcca8e006c0 (LWP 121262) "plasmash:gdrv0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b16cf4af0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b16cf4af0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b16cf4aa0, cond=0x564b16cf4ac8) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b16cf4ac8, mutex=0x564b16cf4aa0) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 11 (Thread 0x7fccabbff6c0 (LWP 121252) "QQmlThread"):
#1  0x00007fccf1546c2f in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fcca40029e0, timeout=<optimized out>, context=0x7fcca4000c30) at ../glib/glib/gmain.c:4553
#2  g_main_context_iterate.constprop.0 (context=0x7fcca4000c30, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4243
#3  0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcca4000c30, may_block=1) at ../glib/glib/gmain.c:4313
#4  0x00007fccf28d8c8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcca4000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fccabbfeaa0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fccf26e725f in QThread::exec() (this=this@entry=0x564b163e9fb0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007fccf3ec00e0 in QQmlThreadPrivate::run() (this=0x564b163e9fb0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:155
#8  0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b163e9fb0) at thread/qthread_unix.cpp:330
#9  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#10 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 10 (Thread 0x7fcccaffd6c0 (LWP 121245) "plasmash:gdrv0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b160e4990, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b160e4990, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b160e4940, cond=0x564b160e4968) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b160e4968, mutex=0x564b160e4940) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 9 (Thread 0x7fcccb7fe6c0 (LWP 121244) "plasmash:gdrv0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15f9e200, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15f9e200, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15f9e1b0, cond=0x564b15f9e1d8) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15f9e1d8, mutex=0x564b15f9e1b0) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 8 (Thread 0x7fcccbfff6c0 (LWP 121241) "plasmash:shlo0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15ebcb20, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15ebcb20, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15ebcad0, cond=0x564b15ebcaf8) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15ebcaf8, mutex=0x564b15ebcad0) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7fcce4a956c0 (LWP 121240) "plasmashel:sh0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15ebc5b0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15ebc5b0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15ebc560, cond=0x564b15ebc588) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15ebc588, mutex=0x564b15ebc560) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7fcce52966c0 (LWP 121239) "plasmas:disk$0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15f2a088, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15f2a088, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15f2a038, cond=0x564b15f2a060) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15f2a060, mutex=0x564b15f2a038) at pthread_cond_wait.c:618
#5  0x00007fcce5d0c47e in cnd_wait () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:135
#6  0x00007fcce5cbc84c in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:290
#7  0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#8  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7fcce5a976c0 (LWP 121238) "plasmashel:cs0"):
#1  0x00007fccf26dfb56 in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int) (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x564b180fd5a8) at thread/qfutex_p.h:114
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> >(QBasicAtomicPointer<QMutexData>&, QBasicAtomicPointer<QMutexData>::Type) (expectedValue=0x3, futex=...) at thread/qfutex_p.h:133
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal() (this=0x564b180fd5a8) at thread/qmutex_linux.cpp:159
#5  0x00007fccf26dfd13 in QRecursiveMutexPrivate::lock(int) (timeout=-1, this=0x564b180fd590) at thread/qmutex.cpp:780
#6  QMutex::lock() (this=this@entry=0x564b180fd550) at thread/qmutex.cpp:235
#7  0x00007fcc5c5cad4e in QMutexLocker::QMutexLocker(QBasicMutex*) (m=0x564b180fd550, this=<synthetic pointer>) at /usr/include/qt/QtCore/qmutex.h:257
#8  QMutexLocker::QMutexLocker(QRecursiveMutex*) (m=0x564b180fd550, this=<synthetic pointer>) at /usr/include/qt/QtCore/qmutex.h:262
#9  Klipper::saveHistory(bool) (this=0x564b180912a0, empty=empty@entry=false) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.90/klipper/klipper.cpp:498
#10 0x00007fcc5c5cb397 in Klipper::saveClipboardHistory() (this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.90/klipper/klipper.cpp:360
#11 Klipper::saveClipboardHistory() (this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.90/klipper/klipper.cpp:357
#12 ClipboardEngine::~ClipboardEngine() (this=0x564b180f1e90, this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.90/klipper/clipboardengine.cpp:38
#13 ClipboardEngine::~ClipboardEngine() (this=0x564b180f1e90, this=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.90/klipper/clipboardengine.cpp:39
#14 0x00007fccf4a0d497 in Plasma::DataEngineManagerPrivate::~DataEngineManagerPrivate() (this=0x564b16b9f820, this=<optimized out>) at /usr/src/debug/plasma-framework/plasma-framework-5.102.0/src/plasma/private/dataenginemanager.cpp:49
#15 Plasma::DataEngineManager::~DataEngineManager() (this=0x7fccf4a67140 <Plasma::(anonymous namespace)::Q_QGS_privateDataEngineManagerSelf::innerFunction()::holder>, this=<optimized out>) at /usr/src/debug/plasma-framework/plasma-framework-5.102.0/src/plasma/private/dataenginemanager.cpp:89
#16 0x00007fccf4a0d58d in Plasma::(anonymous namespace)::Q_QGS_privateDataEngineManagerSelf::innerFunction()::Holder::~Holder() () at /usr/src/debug/plasma-framework/plasma-framework-5.102.0/src/plasma/private/dataenginemanager.cpp:68
#17 0x00007fccf2053f85 in __run_exit_handlers (status=1, listp=0x7fccf21f1760 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:113
#18 0x00007fccf2054100 in __GI_exit (status=<optimized out>) at exit.c:143
#19 0x00007fcce651ab67 in amdgpu_cs_submit_ib () at ../mesa-22.3.4/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c:1663
#20 0x00007fcce5cbc916 in util_queue_thread_func () at ../mesa-22.3.4/src/util/u_queue.c:309
#21 0x00007fcce5d0c3ac in impl_thrd_routine () at ../mesa-22.3.4/src/c11/impl/threads_posix.c:67
#22 0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#23 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7fcce7fff6c0 (LWP 121237) "WaylandEventThr"):
#1  0x00007fccf409dd1d in poll (__timeout=-1, __nfds=2, __fds=0x7fcce7ffeab0) at /usr/include/bits/poll2.h:39
#2  QtWaylandClient::EventThread::run() (this=0x564b15e05370) at /usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddisplay.cpp:208
#3  0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b15e05370) at thread/qthread_unix.cpp:330
#4  0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#5  0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7fccecb296c0 (LWP 121236) "WaylandEventThr"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b15e06824, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fccf209c51f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b15e06824, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007fccf209ecd0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b15e067d0, cond=0x564b15e067f8) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b15e067f8, mutex=0x564b15e067d0) at pthread_cond_wait.c:618
#5  0x00007fccf26eb7c4 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x564b15e067d0) at thread/qwaitcondition_unix.cpp:146
#6  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=this@entry=0x564b15e09130, mutex=mutex@entry=0x564b15e09128, deadline=...) at thread/qwaitcondition_unix.cpp:225
#7  0x00007fccf409dcc4 in QtWaylandClient::EventThread::waitForReading() (this=0x564b15e090f0) at /usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddisplay.cpp:242
#8  QtWaylandClient::EventThread::run() (this=0x564b15e090f0) at /usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylanddisplay.cpp:206
#9  0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x564b15e090f0) at thread/qthread_unix.cpp:330
#10 0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#11 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7fcced5ff6c0 (LWP 121235) "QDBusConnection"):
#1  __GI___libc_read (fd=10, buf=buf@entry=0x7fcced5fe8a0, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fccf14efe93 in read (__nbytes=16, __buf=0x7fcced5fe8a0, __fd=<optimized out>, __fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>) at /usr/include/bits/unistd.h:38
#3  g_wakeup_acknowledge (wakeup=0x7fcce8001510) at ../glib/glib/gwakeup.c:212
#4  g_main_context_check (context=0x7fcce8001cf0, max_priority=2147483647, fds=0x7fcce80053e0, n_fds=1) at ../glib/glib/gmain.c:4000
#5  0x00007fccf1546b28 in g_main_context_iterate.constprop.0 (context=0x7fcce8001cf0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4245
#6  0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcce8001cf0, may_block=1) at ../glib/glib/gmain.c:4313
#7  0x00007fccf28d8c8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcce8000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#8  0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fcced5fea90, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#9  0x00007fccf26e725f in QThread::exec() (this=this@entry=0x7fccf334c560 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#10 0x00007fccf32f0cba in QDBusConnectionManager::run() (this=0x7fccf334c560 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusconnection.cpp:179
#11 0x00007fccf26e432a in QThreadPrivate::start(void*) (arg=0x7fccf334c560 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:330
#12 0x00007fccf209f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#13 0x00007fccf2121d20 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7fcced9eb240 (LWP 121226) "plasmashell"):
#1  0x00007fcce5cb7007 in sys_futex () at ../mesa-22.3.4/src/util/futex.c:43
#2  futex_wait () at ../mesa-22.3.4/src/util/futex.c:55
#3  0x00007fcce5cbc620 in do_futex_fence_wait () at ../mesa-22.3.4/src/util/u_queue.c:130
#4  0x00007fcce65061db in si_flush_all_queues () at ../mesa-22.3.4/src/gallium/drivers/radeonsi/si_fence.c:488
#5  si_flush_from_st () at ../mesa-22.3.4/src/gallium/drivers/radeonsi/si_fence.c:555
#6  0x00007fcce5d61356 in st_flush () at ../mesa-22.3.4/src/mesa/state_tracker/st_cb_flush.c:60
#7  st_glFlush () at ../mesa-22.3.4/src/mesa/state_tracker/st_cb_flush.c:94
#8  0x00007fcced975746 in QtWaylandClient::QWaylandGLContext::swapBuffers(QPlatformSurface*) (this=0x564b16aea180, surface=0x564b176b4440) at /usr/src/debug/qt5-wayland/qtwayland/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:498
#9  0x00007fccf43d6b9c in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (this=0x564b165831f0, window=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/scenegraph/qsgrenderloop.cpp:797
#10 0x00007fccf4452739 in QQuickWindow::event(QEvent*) (this=0x564b17597260, e=0x7fff9b7e2c20) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1863
#11 0x00007fccf3578b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x564b17597260, e=0x7fff9b7e2c20) at kernel/qapplication.cpp:3640
#12 0x00007fccf288df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x564b17597260, event=0x7fff9b7e2c20) at kernel/qcoreapplication.cpp:1064
#13 0x00007fccf2d333b0 in QPlatformWindow::deliverUpdateRequest() (this=<optimized out>) at kernel/qplatformwindow.cpp:796
#14 0x00007fccf28b1bb0 in QObject::event(QEvent*) (this=0x564b176b4430, e=0x7fcce000b2f0) at kernel/qobject.cpp:1347
#15 0x00007fccf3578b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x564b176b4430, e=0x7fcce000b2f0) at kernel/qapplication.cpp:3640
#16 0x00007fccf288df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x564b176b4430, event=0x7fcce000b2f0) at kernel/qcoreapplication.cpp:1064
#17 0x00007fccf288ea53 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x564b15ddeed0) at kernel/qcoreapplication.cpp:1821
#18 0x00007fccf28d4e88 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x564b15e06250) at kernel/qeventdispatcher_glib.cpp:277
#19 0x00007fccf14ef82b in g_main_dispatch (context=0x7fcce8005010) at ../glib/glib/gmain.c:3454
#20 g_main_context_dispatch (context=0x7fcce8005010) at ../glib/glib/gmain.c:4172
#21 0x00007fccf1546cc9 in g_main_context_iterate.constprop.0 (context=0x7fcce8005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248
#22 0x00007fccf14ee0e2 in g_main_context_iteration (context=0x7fcce8005010, may_block=1) at ../glib/glib/gmain.c:4313
#23 0x00007fccf28d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x564b15db0b50, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#24 0x00007fccf28866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff9b7e3090, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#25 0x00007fccf2891219 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#26 0x00007fccf2d39fe2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#27 0x00007fccf3576f2a in QApplication::exec() () at kernel/qapplication.cpp:2832
#28 0x0000564b15c14158 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.90/shell/main.cpp:235
[Inferior 1 (process 121226) detached]

Reported using DrKonqi
Comment 1 Fushan Wen 2023-02-07 03:16:28 UTC
Have you updated all packages?
Comment 2 Pawel 2023-02-07 08:43:51 UTC
(In reply to Fushan Wen from comment #1)
> Have you updated all packages?

yes, I am pretty sure I have. Which one do you think might be outdated?
Comment 3 David Redondo 2023-02-07 10:05:00 UTC
I don't think the thread with clipboard crashed.
Comment 4 Pawel 2023-02-07 13:54:17 UTC
I can repro consistently now. I will record a video to show when the hang and crash happens but it's related to the clipboard.

I use a pdf file I have on my desktop. I copy it and inspect the clipboard - it will either show in the clipboard and the desktop continues operating normally or the session freezes for a few minutes before it crashes.
Comment 5 Pawel 2023-02-07 13:54:58 UTC
by clipboard I mean clipboard history in the tray widget.
Comment 6 Pawel 2023-02-08 11:45:54 UTC
OK, I have since cleared the clipboard history and haven't had the crash since. I will monitor for the next week or so and report back.
Comment 7 Fushan Wen 2023-02-10 18:26:18 UTC
Thanks. Marked as WAITINGFORINFO to remind later.
Comment 8 Bug Janitor Service 2023-02-11 07:15:10 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2607
Comment 9 Bug Janitor Service 2023-02-11 16:32:57 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2608
Comment 10 Bug Janitor Service 2023-02-12 04:34:53 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2609
Comment 11 Bug Janitor Service 2023-02-12 16:31:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2612
Comment 12 Fushan Wen 2023-02-13 00:27:58 UTC
Git commit 4649594aa95d601ac6449c9e8baf8201b28602c5 by Fushan Wen.
Committed on 12/02/2023 at 15:38.
Pushed by fusionfuture into branch 'master'.

klipper: store QImage and construct QPixmap only when necessary

The mime data from Wayland clipboard is not the exact same image, so two
image items are listed (first time restarting plasmashell). But after
images are saved to local, they have the same uuid again. So klipper
starts to become confused after the second time restarting plasmashell.

This is caused by QPixmap::from(QImage).toImage() erasing metadata in the
image, and KSystemClipboard will emit changed signal on Wayland, so
another identical image is added to clipboard.
Related: bug 465326, bug 464828, bug 465603
FIXED-IN: 5.27

M  +5    -5    klipper/historyimageitem.cpp
M  +2    -2    klipper/historyimageitem.h
M  +3    -4    klipper/historyitem.h

https://invent.kde.org/plasma/plasma-workspace/commit/4649594aa95d601ac6449c9e8baf8201b28602c5
Comment 13 Fushan Wen 2023-02-13 00:29:41 UTC
Git commit 41ac399c39a653cac1d63b3f1913ed4eb2f0d2c3 by Fushan Wen.
Committed on 13/02/2023 at 00:29.
Pushed by fusionfuture into branch 'cherry-pick-4649594a'.

klipper: store QImage and construct QPixmap only when necessary

The mime data from Wayland clipboard is not the exact same image, so two
image items are listed (first time restarting plasmashell). But after
images are saved to local, they have the same uuid again. So klipper
starts to become confused after the second time restarting plasmashell.

This is caused by QPixmap::from(QImage).toImage() erasing metadata in the
image, and KSystemClipboard will emit changed signal on Wayland, so
another identical image is added to clipboard.
Related: bug 465326, bug 464828, bug 465603
FIXED-IN: 5.27


(cherry picked from commit 4649594aa95d601ac6449c9e8baf8201b28602c5)

M  +5    -5    klipper/historyimageitem.cpp
M  +2    -2    klipper/historyimageitem.h
M  +3    -4    klipper/historyitem.h

https://invent.kde.org/plasma/plasma-workspace/commit/41ac399c39a653cac1d63b3f1913ed4eb2f0d2c3
Comment 14 Fushan Wen 2023-02-13 00:47:07 UTC
Git commit 89d1f0e07955427a083cbc5af34e0ae9fdcdaad4 by Fushan Wen.
Committed on 13/02/2023 at 00:46.
Pushed by fusionfuture into branch 'Plasma/5.27'.

klipper: store QImage and construct QPixmap only when necessary

The mime data from Wayland clipboard is not the exact same image, so two
image items are listed (first time restarting plasmashell). But after
images are saved to local, they have the same uuid again. So klipper
starts to become confused after the second time restarting plasmashell.

This is caused by QPixmap::from(QImage).toImage() erasing metadata in the
image, and Wayland clipboard is async, so another identical image is added
to clipboard.
Related: bug 465326, bug 464828, bug 465603
FIXED-IN: 5.27


(cherry picked from commit 4649594aa95d601ac6449c9e8baf8201b28602c5)

M  +5    -5    klipper/historyimageitem.cpp
M  +2    -2    klipper/historyimageitem.h
M  +3    -4    klipper/historyitem.h

https://invent.kde.org/plasma/plasma-workspace/commit/89d1f0e07955427a083cbc5af34e0ae9fdcdaad4
Comment 15 Fushan Wen 2023-02-13 11:17:57 UTC
*** Bug 465326 has been marked as a duplicate of this bug. ***
Comment 16 Fushan Wen 2023-02-13 11:18:02 UTC
*** Bug 464828 has been marked as a duplicate of this bug. ***
Comment 17 Fushan Wen 2023-02-13 11:18:07 UTC
*** Bug 465603 has been marked as a duplicate of this bug. ***
Comment 18 Fushan Wen 2023-02-13 18:16:10 UTC
Git commit 365bd94bc6b4de910249f566b01a22bacfb55353 by Fushan Wen.
Committed on 13/02/2023 at 16:34.
Pushed by fusionfuture into branch 'master'.

klipper: lock mutex before `indexOf` in `insert`
Related: bug 465326

M  +2    -1    klipper/historymodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/365bd94bc6b4de910249f566b01a22bacfb55353
Comment 19 Oded Arbel 2023-02-14 15:30:33 UTC
After updating to current unstable, I can no longer reproduce this issue.

I have to note that with the current setup, after the update, while previously clipboard management was part of the plasmashell process, it is no longer accessible: the org.kde.klipper DBus service is not available when starting plasma. I can run the /usr/bin/klipper program, which gives me access to the org.kde.klipper DBus service and with which I can fail to repro the problem - but it doesn't have my previous clipboard manager non-default shortcut configuration.
Comment 20 Nate Graham 2023-02-14 17:54:32 UTC
Makes sense given the changes that were merged recently!
Comment 21 Oded Arbel 2023-02-14 19:38:33 UTC
(In reply to Oded Arbel from comment #19)
> I have to note that with the current setup, after the update, while
> previously clipboard management was part of the plasmashell process, it is
> no longer accessible

OK, NM that - my setup was messed up after building and installing a plasma-workspace copy into ~/.local, the cmake uninstall process leaves empty directories wherever it installed something, then when the system's plasmashell loads it sees directories for bundled applets under .local/share/plasma/plasmoids/ and tries to load the applets from there - but there are no actual implementations installed so it just fails silently.
Comment 22 Fushan Wen 2023-02-16 04:26:34 UTC
*** Bug 465724 has been marked as a duplicate of this bug. ***
Comment 23 Bug Janitor Service 2023-03-10 12:05:20 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2730
Comment 24 Bug Janitor Service 2023-03-10 13:48:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2731
Comment 25 Fushan Wen 2023-03-14 13:46:37 UTC
Git commit b34c60956fe858f123dcdde7ee6322b986a795f6 by Fushan Wen.
Committed on 14/03/2023 at 13:44.
Pushed by fusionfuture into branch 'Plasma/5.27'.

klipper: remove duplicate items when loading from history

Due to a catastrophic bug existing in 5.27 beta and 5.27.0, there could
be duplicate items in klipper's history file, so filter them out here.

The popup menu will try to read `item->next_uuid()` in a loop to fill the menu, hence it's possible to create an infinite loop when there are duplicate items.
Related: bug 466236
FIXED-IN: 5.27.4

M  +9    -0    klipper/klipper.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/b34c60956fe858f123dcdde7ee6322b986a795f6
Comment 26 Fushan Wen 2023-03-18 10:08:58 UTC
Git commit 5b0563362494ab5717655f054ccd2627ad3d51e2 by Fushan Wen.
Committed on 18/03/2023 at 08:40.
Pushed by fusionfuture into branch 'Plasma/5.27'.

klipper: test bug 465225

M  +5    -0    klipper/autotests/CMakeLists.txt
A  +-    --    klipper/autotests/data/bug465225.lst
A  +102  -0    klipper/autotests/klippertest.cpp     [License: GPL(v2.0+)]

https://invent.kde.org/plasma/plasma-workspace/commit/5b0563362494ab5717655f054ccd2627ad3d51e2
Comment 27 Fushan Wen 2023-03-18 10:46:35 UTC
Git commit b23951ee1b37bd781c6b64105e28b411c9c488f8 by Fushan Wen.
Committed on 18/03/2023 at 10:46.
Pushed by fusionfuture into branch 'master'.

klipper: test bug 465225


(cherry picked from commit 5b0563362494ab5717655f054ccd2627ad3d51e2)

M  +5    -0    klipper/autotests/CMakeLists.txt
A  +-    --    klipper/autotests/data/bug465225.lst
A  +102  -0    klipper/autotests/klippertest.cpp     [License: GPL(v2.0+)]

https://invent.kde.org/plasma/plasma-workspace/commit/b23951ee1b37bd781c6b64105e28b411c9c488f8
Comment 28 Bug Janitor Service 2023-04-04 17:41:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/qt/qt/qtdeclarative/-/merge_requests/40