https://bugs.kde.org/show_bug.cgi?id=486178
Bug ID: 486178 Summary: VNC plugin deadlocks on connection Classification: Applications Product: krdc Version: 24.02.2 Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: VNC Assignee: uwol...@kde.org Reporter: thi...@kde.org Target Milestone: --- SUMMARY VNC plugin deadlocks as soon as you try to connect STEPS TO REPRODUCE 1. Launch KRDC 2. Attempt to connect to a VNC host 3. Close KRDC OBSERVED RESULT KRDC freezes and must be killed EXPECTED RESULT KRDC closes. Preferably, the connection does establish. SOFTWARE/OS VERSIONS KDE Plasma Version: 6.0.3 KDE Frameworks Version: 6.1.0 Qt Version: 6.7.0 ADDITIONAL INFORMATION Upon trying to connect, KRDC is still usable, but the debugger shows one thread to be already frozen: Thread 30 (Thread 0x7fffb4a006c0 (LWP 497638) "VncClientThread"): #0 0x00007ffff5711bcd in syscall () at /lib64/libc.so.6 #1 0x00007ffff60dcca5 in QBasicMutex::lockInternal() () at /lib64/glibc-hwcaps/x86-64-v4/libQt6Core.so.6.7.0 #2 0x00007fffe341886c in QBasicMutex::lock() (this=0x555555b37208) at /usr/include/qt6/QtCore/qmutex.h:41 #3 QMutexLocker<QMutex>::relock() (this=<synthetic pointer>) at /usr/include/qt6/QtCore/qmutex.h:257 #4 VncClientThread::run() (this=0x555555b37180) at /usr/src/debug/krdc-24.02.2/vnc/vncclientthread.cpp:521 #5 0x00007ffff60dc1b8 in () at /lib64/glibc-hwcaps/x86-64-v4/libQt6Core.so.6.7.0 #6 0x00007ffff5692bb2 in start_thread () at /lib64/libc.so.6 #7 0x00007ffff571400c in clone3 () at /lib64/libc.so.6 QMutexLocker locker(&mutex); while (!m_stopped) { // try to connect as long as the server allows locker.relock(); m_passwordError = false; This will NEVER EVER work because the mutex is locked by that locker and nothing can unlock it. This is a difference in behaviour between Qt 5 and Qt 6. Qt 5: https://codebrowser.dev/qt5/qtbase/src/corelib/thread/qmutex.h.html#_ZN12QMutexLocker6relockEv Qt 6: https://codebrowser.dev/qt6/qtbase/src/corelib/thread/qmutex.h.html#_ZN12QMutexLocker6relockEv The change happened in Qt 6.4, commit 1b1456975347b044c11169458b53c9f6083dbc59 -- You are receiving this mail because: You are watching all bug changes.