Bug 464294

Summary: Desktop icon drag and drop lagging behind cursor
Product: [Plasma] plasmashell Reporter: Ilan <ilanco>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: normal CC: kde
Priority: NOR    
Version: 5.26.5   
Target Milestone: 1.0   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ilan 2023-01-14 18:41:10 UTC
SUMMARY

When dragging files/folders to a different spot on the desktop the icon lag behind the mouse and CPU usage for plasmashell, Xorg and kwin_x11 is very high. Same happens when moving icons using Dolphin.


STEPS TO REPRODUCE
1. Drag and drop icon

OBSERVED RESULT
Very slow mouse movement. Icon lags behind mouse. High CPU usage

EXPECTED RESULT
Icon follows mouse and CPU stays low

SOFTWARE/OS VERSIONS
Version
=======
KWin version: 5.26.5
Qt Version: 5.15.7
Qt compile version: 5.15.7
XCB compile version: 1.15

Operation Mode: X11 only


ADDITIONAL INFORMATION
strace shows increased futex usage:

poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\3\0\2\0\241\0\0\1", iov_len=8}], 1) = 8
futex(0x5590b4bdee18, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x5590b4bdee18, FUTEX_WAKE_PRIVATE, 1) = 0

gdb bt for the most frequent address (0x5590b4bdee18) for futex is as follows:

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f54c951b0af in poll () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt 0x5590b4bdee18
#0  0x00007f54c951b0af in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f54c771e9ae in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f54c771eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f54c99098b6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f54c98b024b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f54c98b83b6 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00005590b2e30c6c in ?? ()
#7  0x00007f54c944618a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x00007f54c9446245 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x00005590b2e30d81 in ?? ()
Comment 1 Ilan 2023-01-14 19:26:30 UTC
This appears to be a QT bug described in this ticket: https://bugreports.qt.io/browse/QTBUG-98048