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

--- Comment #7 from Ralf Jung <p...@ralfj.de> ---
Here's a main thread backtrace with some more debug symbols installed:

(gdb) bt
#0  0x00007f0e019ef0fa in __futex_abstimed_wait_common64
    (futex_word=futex_word@entry=0x5565f3675134, expected=expected@entry=0,
clockid=clockid@entry=1, abstime=abstime@entry=0x7ffeb44b54e0,
private=private@entry=0, cancel=cancel@entry=true) at
../sysdeps/nptl/futex-internal.c:74
#1  0x00007f0e019ef15b in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x5565f3675134, expected=expected@entry=0,
clockid=clockid@entry=1, abstime=abstime@entry=0x7ffeb44b54e0,
private=private@entry=0)
    at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f0e019e8f44 in __pthread_cond_wait_common (abstime=0x7ffeb44b54e0,
clockid=1, mutex=0x5565f36750e0, cond=0x5565f3675108) at
pthread_cond_wait.c:504
#3  __pthread_cond_timedwait (cond=0x5565f3675108, mutex=0x5565f36750e0,
abstime=0x7ffeb44b54e0) at pthread_cond_wait.c:637
#4  0x00007f0e020657a8 in QWaitConditionPrivate::wait_relative(QDeadlineTimer)
(deadline=..., this=0x5565f36750e0) at thread/qwaitcondition_unix.cpp:136
#5  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=...,
this=0x5565f36750e0) at thread/qwaitcondition_unix.cpp:144
#6  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>,
mutex=0x5565f3658928, deadline=...) at thread/qwaitcondition_unix.cpp:225
#7  0x00007f0e020658a7 in QWaitCondition::wait(QMutex*, unsigned long)
(this=0x5565f3658930, mutex=0x5565f3658928, time=<optimized out>) at
thread/qwaitcondition_unix.cpp:209
#8  0x00007f0dfcf7e673 in QXcbEventQueue::waitForNewEvents(unsigned long)
(this=this@entry=0x5565f36588c0, time=163) at
./src/plugins/platforms/xcb/qxcbeventqueue.cpp:360
#9  0x00007f0dfcf53a60 in QXcbClipboard::waitForClipboardEvent(unsigned int,
int, bool) (this=this@entry=0x5565f36fc3b0, window=window@entry=41943085,
type=type@entry=31, checkManager=checkManager@entry=false)
    at ./src/plugins/platforms/xcb/qxcbclipboard.cpp:809
#10 0x00007f0dfcf54149 in QXcbClipboard::getSelection(unsigned int, unsigned
int, unsigned int, unsigned int) (this=0x5565f36fc3b0, selection=1, target=380,
property=385, time=286955112, time@entry=0)
    at ./src/plugins/platforms/xcb/qxcbclipboard.cpp:900
#11 0x00007f0dfcf55b68 in QXcbClipboard::getDataInFormat(unsigned int, unsigned
int) (fmtAtom=<optimized out>, modeAtom=<optimized out>, this=<optimized out>)
at ./qxcbatom.h:249
#12 QXcbClipboardMime::formats_sys() const (this=0x5565f5cfd060) at
./src/plugins/platforms/xcb/qxcbclipboard.cpp:100
#13 0x00007f0e0263f6bf in QInternalMimeData::formats() const (this=<optimized
out>) at kernel/qinternalmimedata.cpp:98
#14 0x00007f0d836505fd in  () at
/usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/dataengine/plasma_engine_clipboard.so
#15 0x00007f0e0227a133 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffeb44b5900, r=0x5565f5b8e490, this=0x7f0df8006f20) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false>(QObject*, int, void**) (sender=0x7f0df8008750,
signal_index=3, argv=0x7ffeb44b5900) at kernel/qobject.cpp:3886
#17 0x00007f0e013157ee in KSystemClipboard::changed(QClipboard::Mode) () at
/usr/lib/x86_64-linux-gnu/libKF5GuiAddons.so.5
#18 0x00007f0e0227a133 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffeb44b5a10, r=0x7f0df8008750, this=0x5565f5ba3fa0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#19 doActivate<false>(QObject*, int, void**) (sender=0x5565f3ea9ad0,
signal_index=3, argv=0x7ffeb44b5a10) at kernel/qobject.cpp:3886
#20 0x00007f0e022735ff in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**)
    (sender=<optimized out>, m=m@entry=0x7f0e02ba1c20
<QClipboard::staticMetaObject>, local_signal_index=local_signal_index@entry=0,
argv=argv@entry=0x7ffeb44b5a10) at kernel/qobject.cpp:3946
#21 0x00007f0e02a8face in QClipboard::changed(QClipboard::Mode)
(this=<optimized out>, _t1=<optimized out>) at .moc/moc_qclipboard.cpp:168
#22 0x00007f0e0263016b in QClipboard::emitChanged(QClipboard::Mode)
(this=<optimized out>, mode=<optimized out>) at kernel/qclipboard.cpp:608
#23 0x00007f0e026121e3 in QPlatformClipboard::emitChanged(QClipboard::Mode)
(this=<optimized out>, mode=<optimized out>) at
kernel/qplatformclipboard.cpp:125
#24 0x00007f0dfcf543a6 in
QXcbClipboard::handleXFixesSelectionRequest(xcb_xfixes_selection_notify_event_t*)
(this=<optimized out>, event=event@entry=0x7f0df801a460) at
./src/plugins/platforms/xcb/qxcbclipboard.cpp:679
#25 0x00007f0dfcf57c74 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*)
(this=this@entry=0x5565f365c420, event=event@entry=0x7f0df801a460) at
./src/plugins/platforms/xcb/qxcbconnection.cpp:685
#26 0x00007f0dfcf59186 in
QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5565f365c420, flags=...) at
./src/plugins/platforms/xcb/qxcbconnection.cpp:1003
#27 0x00007f0dfcf7f573 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer)
(source=<optimized out>) at
./src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:103
#28 0x00007f0e001eff8b in g_main_context_dispatch () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f0e001f0238 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f0e001f02ef in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f0e0229b104 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5565f3723830, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#32 0x00007f0e022424db in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffeb44b5cd0, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#33 0x00007f0e0224a7b0 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#34 0x00005565f1ffa76a in  ()
#35 0x00007f0e01bc37fd in __libc_start_main (main=0x5565f1ff9910, argc=1,
argv=0x7ffeb44b5f68, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffeb44b5f58) at ../csu/libc-start.c:332
#36 0x00005565f1ffa88a in  ()

"waitForClipboardEvent" does quite sound like a blocking call in the main UI
thread.

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

Reply via email to