https://bugs.kde.org/show_bug.cgi?id=523301

            Bug ID: 523301
           Summary: kdeconnectd stuck at 100% CPU usage after compositor
                    restart
    Classification: Applications
           Product: kdeconnect
      Version First unspecified
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: common
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

STEPS TO REPRODUCE
1. Run kdeconnectd 
2. killall kwin_wayland

OBSERVED RESULT
kdeconnectd uses 100% CPU

Thread 2 (Thread 0x7f36d2ede6c0 (LWP 370832) "QThread"):
#0  0x00007f36ed47d3b0 in ___pthread_mutex_lock (mutex=mutex@entry=0x20043668)
at pthread_mutex_lock.c:81
#1  0x00007f36ec7ce5e9 in wl_display_prepare_read_queue (display=0x20043540,
queue=0x200490e0) at ../../src/wayland/src/wayland-client.c:1980
#2  0x00007f36ee7ae0ec in ClipboardThread::run (this=0x20048ec0) at
/home/nico/kde/src/kguiaddons/src/systemclipboard/waylandclipboard.cpp:556
#3  0x00007f36eddc3981 in QThreadPrivate::start (arg=0x20048ec0) at
/home/nico/workspace/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:472
#4  0x00007f36ed479c19 in start_thread (arg=<optimized out>) at
pthread_create.c:454
#5  0x00007f36ed4fd5cc in __GI___clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x7f36e8405180 (LWP 370824) "kdeconnectd"):
#0  __syscall_cancel_arch () at
../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f36ed47652c in __internal_syscall_cancel (a1=<optimized out>,
a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0,
a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007f36ed476877 in __futex_abstimed_wait_common64 (private=<optimized
out>, futex_word=<optimized out>, expected=<optimized out>, op=<optimized out>,
abstime=<optimized out>, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=<optimized out>,
expected=<optimized out>, clockid=<optimized out>, abstime=<optimized out>,
private=<optimized out>, cancel=true) at futex-internal.c:87
#4  __GI___futex_abstimed_wait_cancelable64 (futex_word=<optimized out>,
expected=<optimized out>, clockid=<optimized out>, abstime=<optimized out>,
private=<optimized out>) at futex-internal.c:139
#5  0x00007f36ed47ba3d in __pthread_clockjoin_ex (threadid=139873443768000,
thread_return=0x0, clockid=1, abstime=0x0, cancel=true) at
pthread_join_common.c:67
#6  0x00007f36eddc3491 in operator() (__closure=<synthetic pointer>) at
/home/nico/workspace/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:983
#7  QThreadPrivate::wait (this=this@entry=0x7f36d401dc40, locker=...,
deadline=...) at
/home/nico/workspace/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:1005
#8  0x00007f36edce00ea in QThread::wait (this=<optimized out>, deadline=...) at
/home/nico/workspace/qt6/qtbase/src/corelib/thread/qthread.cpp:974
#9  0x00007f36ee77d399 in operator() (__closure=0x7f36d40189b0) at
/home/nico/kde/src/kguiaddons/src/systemclipboard/waylandclipboard.cpp:624
#10 operator() (__closure=<optimized out>) at
/home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:117
#11 QtPrivate::FunctorCallBase::call_internal<void,
QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>,
QtPrivate::List<>, void,
WaylandClipboard::WaylandClipboard(QObject*)::<lambda()>
>::call(WaylandClipboard::WaylandClipboard(QObject*)::<lambda()>&,
void**)::<lambda()> > (args=<optimized out>, fn=<optimized out>) at
/home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:66
#12 QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>,
QtPrivate::List<>, void,
WaylandClipboard::WaylandClipboard(QObject*)::<lambda()> >::call (f=...,
arg=<optimized out>) at
/home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:116
#13
QtPrivate::FunctorCallable<WaylandClipboard::WaylandClipboard(QObject*)::<lambda()>
>::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at
/home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:338
#14
QtPrivate::QCallableObject<WaylandClipboard::WaylandClipboard(QObject*)::<lambda()>,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=<optimized out>, this_=0x7f36d40189a0, r=<optimized
out>, a=<optimized out>, ret=<optimized out>) at
/home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:548
#15 0x00007f36edbfca97 in QtPrivate::QSlotObjectBase::call (this=<optimized
out>, r=0x2060c950, a=<optimized out>) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
#16 doActivate<false> (sender=0x2060c980, signal_index=<optimized out>,
argv=<optimized out>) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4405
#17 0x00007f36edbfca97 in QtPrivate::QSlotObjectBase::call (this=<optimized
out>, r=0x2060c980, a=<optimized out>) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
#18 doActivate<false> (sender=0x200432f0, signal_index=<optimized out>,
argv=<optimized out>, argv@entry=0x7ffc1de37360) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4405
#19 0x00007f36edbf14d7 in QMetaObject::activate
(sender=sender@entry=0x200432f0, m=m@entry=0x7f36e9ff3bc0
<QtWaylandClient::QWaylandDisplay::staticMetaObject>,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffc1de37360)
at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4465
#20 0x00007f36e9eb9af9 in QMetaObject::activate<void,
QtWaylandClient::QWaylandDisplay::RegistryGlobal> (sender=0x200432f0,
mo=0x7f36e9ff3bc0 <QtWaylandClient::QWaylandDisplay::staticMetaObject>,
local_signal_index=2, ret=0x0) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobjectdefs.h:320
#21 QtWaylandClient::QWaylandDisplay::globalRemoved
(this=this@entry=0x200432f0, _t1=...) at
/home/nico/workspace/qt6/qtbase/src/plugins/platforms/wayland/WaylandClient_autogen/include/moc_qwaylanddisplay_p.cpp:152
#22 0x00007f36e9ebfd9f in QtWaylandClient::QWaylandDisplay::reconnect
(this=0x200432f0) at
/home/nico/workspace/qt6/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:454
#23 0x00007f36edbf77ae in QObject::event (this=<optimized out>, e=<optimized
out>) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:1491
#24 0x00007f36f0c57bb1 in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x200432f0, e=0x20929300) at
/home/nico/workspace/qt6/qtbase/src/widgets/kernel/qapplication.cpp:3264
#25 0x00007f36edb775a8 in QCoreApplication::notifyInternal2
(receiver=0x200432f0, event=0x20929300) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1129
#26 0x00007f36edb7c8c8 in QCoreApplicationPrivate::sendPostedEvents
(receiver=0x0, event_type=0, data=0x2003d8d0) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1929
#27 0x00007f36edf60007 in postEventSourceDispatch (s=0x20040f40) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:248
#28 0x00007f36eccb7f24 in g_main_dispatch (context=0x7f36d4000f00) at
../glib/gmain.c:3591
#29 g_main_context_dispatch_unlocked (context=0x7f36d4000f00) at
../glib/gmain.c:4451
#30 0x00007f36eccbc038 in g_main_context_iterate_unlocked
(context=context@entry=0x7f36d4000f00, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4516
#31 0x00007f36eccbc1e3 in g_main_context_iteration (context=0x7f36d4000f00,
may_block=1) at ../glib/gmain.c:4582
#32 0x00007f36edf5f248 in QEventDispatcherGlib::processEvents (this=0x20040f20,
flags=...) at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:402
#33 0x00007f36edb898f3 in QEventLoop::exec (this=this@entry=0x7ffc1de378f0,
flags=..., flags@entry=...) at
/home/nico/workspace/qt6/qtbase/src/corelib/global/qflags.h:78
#34 0x00007f36edb824f7 in QCoreApplication::exec () at
/home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1472
#35 0x00007f36ef353010 in QGuiApplication::exec () at
/home/nico/workspace/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:2010
#36 0x00007f36f0c57b09 in QApplication::exec () at
/home/nico/workspace/qt6/qtbase/src/widgets/kernel/qapplication.cpp:2534
#37 0x000000000040144b in main (argc=<optimized out>, argv=0x7ffc1de37ce8) at
/home/nico/kde/src/kdeconnect-kde/daemon/kdeconnectd.cpp:129

The clipboard thread in KSystemClipboard is stuck at
wl_display_prepare_read_queue() and the main thread is waiting for the
clipboard thread

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to