Bug 471333 - System Settings freezes waiting for a pending DBus call made in Registration::attemptRegistration() when opening Mouse KCM
Summary: System Settings freezes waiting for a pending DBus call made in Registration:...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_mouse (other bugs)
Version First Reported In: master
Platform: Neon Linux
: NOR grave
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-06-22 12:28 UTC by Patrick Silva
Modified: 2023-06-29 13:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2023-06-22 12:28:22 UTC
STEPS TO REPRODUCE
1. open System Settings > Input Devices > Mouse
2. 
3. 

OBSERVED RESULT
System Settings freezes

EXPECTED RESULT
System Settings does not freeze

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.240.0
Qt Version: 6.5.1
Graphics Platform: Wayland
Comment 1 Nate Graham 2023-06-22 13:06:40 UTC
Can reproduce by running `systemsettings kcm_mouse` in a terminal. Backtrace of the hang:

#0  0x00007ffff40ab1d9 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, 
    op=393, expected=0, futex_word=0x51ade0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x51ade0, 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  0x00007ffff40ab25f in __GI___futex_abstimed_wait_cancelable64 (
    futex_word=futex_word@entry=0x51ade0, expected=expected@entry=0, clockid=clockid@entry=0, 
    abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007ffff40adb79 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, 
    cond=0x51adb8) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x51adb8, mutex=<optimized out>) at pthread_cond_wait.c:618
#5  0x00007ffff490b1ab in QWaitConditionPrivate::wait (deadline=..., this=0x51ad90)
    at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/thread/qwaitcondition_unix.cpp:87
#6  QWaitCondition::wait (this=this@entry=0x749e80, mutex=mutex@entry=0x749e78, deadline=...)
    at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/thread/qwaitcondition_unix.cpp:160
#7  0x00007ffff4e7fb6b in QDBusPendingCallPrivate::waitForFinished (this=0x749e30)
    at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/dbus/qdbuspendingcall.cpp:205
#8  0x00007ffff4e7fdb1 in QDBusPendingCall::waitForFinished (this=this@entry=0x7fffffffcd30)
    at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/dbus/qdbuspendingcall.cpp:305
#9  0x00007ffff7cd0d6b in QDBusReply<int>::operator= (pcall=..., this=0x7fffffffce40)
    at /usr/include/qt6/QtDBus/qdbusreply.h:47
#10 QDBusReply<int>::QDBusReply (this=0x7fffffffce40, reply=...)
    at /usr/include/qt6/QtDBus/qdbusreply.h:52
#11 0x00007ffff7cd314f in Registration::attemptRegistration (this=this@entry=0x7fffffffcf90)
    at /home/nate/kde/src/kdbusaddons/src/kdbusservice.cpp:229
#12 0x00007ffff7cd397d in Registration::registerOnBus (this=this@entry=0x7fffffffcf90)
    at /home/nate/kde/src/kdbusaddons/src/kdbusservice.cpp:159
#13 0x00007ffff7cd0059 in Registration::run (this=0x7fffffffcf90)
    at /home/nate/kde/src/kdbusaddons/src/kdbusservice.cpp:111
#14 KDBusService::KDBusService (this=this@entry=0x7fffffffd230, options=..., options@entry=..., 
    parent=parent@entry=0x0) at /home/nate/kde/src/kdbusaddons/src/kdbusservice.cpp:283
#15 0x000000000040e89d in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/include/qt6/QtCore/qflags.h:74
Comment 2 Patrick Silva 2023-06-29 13:46:18 UTC
Cannot reproduce.