Bug 437520 - In "Switch to external screen" mode, lock screen visually freezes after disconnecting external monitor while system is locked and then re-connecting it
Summary: In "Switch to external screen" mode, lock screen visually freezes after disco...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: multi-screen (show other bugs)
Version: 5.27.9
Platform: Fedora RPMs Linux
: HI grave
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: multiscreen
: 460353 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-05-22 23:07 UTC by kevin
Modified: 2023-11-09 11:43 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
pstree (8.68 KB, text/plain)
2021-05-22 23:07 UTC, kevin
Details
journalctl since boot (1.54 MB, text/plain)
2021-05-22 23:07 UTC, kevin
Details
journalctl output for the time the external monitor was disconnected and reconnected. (50.00 KB, text/plain)
2022-08-31 14:04 UTC, lcdr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description kevin 2021-05-22 23:07:06 UTC
Created attachment 138692 [details]
pstree

SUMMARY
After upgrading to Fedora 34, I'm experiencing intermittent lock screen hangs after waking from sleep (probably 1 out of 10 times). The lock screen background shows up, and the mouse can move, but nothing else shows up. I can Ctrl+Clt+F3 to start a new command line session with root, but I usually then just reboot and thus lose all my work so this is a significant issue. This has happened multiple times.

STEPS TO REPRODUCE
1. Sleep computer
2. Wake computer
3. Intermittently, background and mouse show but nothing else, and I cannot login

SOFTWARE/OS VERSIONS
Operating System: Fedora 34
KDE Frameworks Version: 5.81.0
Qt Version: 5.15.2
Kernel Version: 5.12.1-198.vanilla.1.fc34.x86_64
OS Type: 64-bit
Graphics Platform: X11
Processors: 4 × Intel® Core™ i5-7300U CPU @ 2.60GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 620

ADDITIONAL INFORMATION
After switching to Ctrl+Alt+F3 and logging in as root, I ran pstree which I will attach. Then I ran the following to get pstacks of all processes.

for pid in $(ls /proc/ | awk '/^[0-9]/'); do pstack $pid &> pstack_${pid}.txt; done

Guessing which processes might be lock screen related, I took 6 core dumps with gcore. Let me know if you want me to upload any of them or run things like `thread apply all bt` in gdb on them.

Also attaching the journalctl since boot. The problematic wakeup starts at around 2021-05-19 14:05. No obvious warnings or errors on or after that time in the boot log.
Comment 1 kevin 2021-05-22 23:07:29 UTC
Created attachment 138693 [details]
journalctl since boot
Comment 2 kevin 2021-05-22 23:16:46 UTC
So backtraces from each core dump:

$ gdb /usr/libexec/kscreenlocker_greet core.184819
[...]
(gdb) thread apply all bt

Thread 11 (Thread 0x7efc1612d640 (LWP 185686)):
#0  0x00007efc59080a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55b95a9583e0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007efc59080aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b95a9583e0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007efc5907a2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b95a958390, cond=0x55b95a9583b8) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55b95a9583b8, mutex=0x55b95a958390) at pthread_cond_wait.c:619
#4  0x00007efc595f419b in QWaitConditionPrivate::wait (deadline=..., deadline=..., this=0x55b95a958390) at thread/qwaitcondition_unix.cpp:146
#5  QWaitCondition::wait (this=this@entry=0x55b95aad2df8, mutex=mutex@entry=0x55b95aad2df0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#6  0x00007efc5a8dac0b in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x55b95aad2de8) at /usr/include/qt5/QtCore/qdeadlinetimer.h:68
#7  QSGRenderThread::processEventsAndWaitForMore (this=0x55b95aad2d50) at scenegraph/qsgthreadedrenderloop.cpp:936
#8  QSGRenderThread::run (this=0x55b95aad2d50) at scenegraph/qsgthreadedrenderloop.cpp:1053
#9  0x00007efc595ee751 in QThreadPrivate::start (arg=0x55b95aad2d50) at thread/qthread_unix.cpp:329
#10 0x00007efc59074299 in start_thread (arg=0x7efc1612d640) at pthread_create.c:481
#11 0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7efc1692e640 (LWP 185685)):
#0  0x00007efc5920f5bf in __GI___poll (fds=0x7efc04005230, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007efc57c4647c in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7efc04005230, timeout=<optimized out>, context=0x7efc04000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7efc04000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007efc57befc03 in g_main_context_iteration (context=0x7efc04000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007efc597d36f8 in QEventDispatcherGlib::processEvents (this=0x7efc04000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007efc597859b2 in QEventLoop::exec (this=this@entry=0x7efc1692db70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007efc595ed49a in QThread::exec (this=this@entry=0x55b95ae6ab50) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007efc5a8331ea in QQuickPixmapReader::run (this=0x55b95ae6ab50) at util/qquickpixmapcache.cpp:1024
#8  0x00007efc595ee751 in QThreadPrivate::start (arg=0x55b95ae6ab50) at thread/qthread_unix.cpp:329
#9  0x00007efc59074299 in start_thread (arg=0x7efc1692e640) at pthread_create.c:481
#10 0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7efc2aaf7640 (LWP 185681)):
#0  0x00007efc5920f5bf in __GI___poll (fds=0x7efc1c004e80, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007efc57c4647c in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7efc1c004e80, timeout=<optimized out>, context=0x7efc1c000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7efc1c000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007efc57befc03 in g_main_context_iteration (context=0x7efc1c000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007efc597d36f8 in QEventDispatcherGlib::processEvents (this=0x7efc1c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007efc597859b2 in QEventLoop::exec (this=this@entry=0x7efc2aaf6b60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007efc595ed49a in QThread::exec (this=this@entry=0x7efc58c8b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007efc58c1cf8b in QDBusConnectionManager::run (this=0x7efc58c8b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007efc595ee751 in QThreadPrivate::start (arg=0x7efc58c8b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007efc59074299 in start_thread (arg=0x7efc2aaf7640) at pthread_create.c:481
#10 0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7efc2b7fe640 (LWP 185673)):
#0  0x00007efc5920f5bf in __GI___poll (fds=0x7efc18004a80, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007efc57c4647c in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7efc18004a80, timeout=<optimized out>, context=0x7efc18000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7efc18000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007efc57befc03 in g_main_context_iteration (context=0x7efc18000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007efc597d36f8 in QEventDispatcherGlib::processEvents (this=0x7efc18000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007efc597859b2 in QEventLoop::exec (this=this@entry=0x7efc2b7fdb90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007efc595ed49a in QThread::exec (this=this@entry=0x55b95aacf800) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007efc5a56d03c in QQmlThreadPrivate::run (this=0x55b95aacf800) at qml/ftw/qqmlthread.cpp:155
#8  0x00007efc595ee751 in QThreadPrivate::start (arg=0x55b95aacf800) at thread/qthread_unix.cpp:329
#9  0x00007efc59074299 in start_thread (arg=0x7efc2b7fe640) at pthread_create.c:481
#10 0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7efc2bfff640 (LWP 185478)):
#0  0x00007efc5920f5bf in __GI___poll (fds=0x7efc20004e80, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007efc57c4647c in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7efc20004e80, timeout=<optimized out>, context=0x7efc20000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7efc20000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007efc57befc03 in g_main_context_iteration (context=0x7efc20000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007efc597d36f8 in QEventDispatcherGlib::processEvents (this=0x7efc20000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007efc597859b2 in QEventLoop::exec (this=this@entry=0x7efc2bffebb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007efc595ed49a in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007efc595ee751 in QThreadPrivate::start (arg=0x55b95aab4660) at thread/qthread_unix.cpp:329
#8  0x00007efc59074299 in start_thread (arg=0x7efc2bfff640) at pthread_create.c:481
#9  0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7efc38c46640 (LWP 184982)):
#0  0x00007efc59080a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007efc59080aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007efc5907a2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b95aa91fd8, cond=0x55b95aa92000) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55b95aa92000, mutex=0x55b95aa91fd8) at pthread_cond_wait.c:619
#4  0x00007efc447d609b in util_queue_thread_func () from /usr/lib64/dri/iris_dri.so
#5  0x00007efc447d5b5b in impl_thrd_routine () from /usr/lib64/dri/iris_dri.so
#6  0x00007efc59074299 in start_thread (arg=0x7efc38c46640) at pthread_create.c:481
#7  0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7efc39447640 (LWP 184981)):
#0  0x00007efc59080a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007efc59080aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007efc5907a2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b95aa91fd8, cond=0x55b95aa92000) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55b95aa92000, mutex=0x55b95aa91fd8) at pthread_cond_wait.c:619
#4  0x00007efc447d609b in util_queue_thread_func () from /usr/lib64/dri/iris_dri.so
#5  0x00007efc447d5b5b in impl_thrd_routine () from /usr/lib64/dri/iris_dri.so
#6  0x00007efc59074299 in start_thread (arg=0x7efc39447640) at pthread_create.c:481
#7  0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7efc39c48640 (LWP 184980)):
#0  0x00007efc59080a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007efc59080aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007efc5907a2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b95aa91fd8, cond=0x55b95aa92000) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55b95aa92000, mutex=0x55b95aa91fd8) at pthread_cond_wait.c:619
#4  0x00007efc447d609b in util_queue_thread_func () from /usr/lib64/dri/iris_dri.so
#5  0x00007efc447d5b5b in impl_thrd_routine () from /usr/lib64/dri/iris_dri.so
#6  0x00007efc59074299 in start_thread (arg=0x7efc39c48640) at pthread_create.c:481
#7  0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7efc3a449640 (LWP 184979)):
#0  0x00007efc59080a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007efc59080aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b95aa92028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007efc5907a2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b95aa91fd8, cond=0x55b95aa92000) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55b95aa92000, mutex=0x55b95aa91fd8) at pthread_cond_wait.c:619
#4  0x00007efc447d609b in util_queue_thread_func () from /usr/lib64/dri/iris_dri.so
#5  0x00007efc447d5b5b in impl_thrd_routine () from /usr/lib64/dri/iris_dri.so
#6  0x00007efc59074299 in start_thread (arg=0x7efc3a449640) at pthread_create.c:481
#7  0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7efc47ab1640 (LWP 184837)):
#0  0x00007efc59080a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55b95a91e668, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007efc59080aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b95a91e668, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007efc5907a2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b95a91e618, cond=0x55b95a91e640) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55b95a91e640, mutex=0x55b95a91e618) at pthread_cond_wait.c:619
#4  0x00007efc590af934 in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x55b95a91e640, c=0x55b95a91e600) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_conn.c:447
#5  xcb_wait_for_event (c=0x55b95a91e600) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_in.c:697
#6  0x00007efc47be7497 in QXcbEventQueue::run (this=0x55b95a9105a0) at qxcbeventqueue.cpp:228
#7  0x00007efc595ee751 in QThreadPrivate::start (arg=0x55b95a9105a0) at thread/qthread_unix.cpp:329
#8  0x00007efc59074299 in start_thread (arg=0x7efc47ab1640) at pthread_create.c:481
#9  0x00007efc5921a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7efc55214940 (LWP 184819)):
#0  0x00007efc5920f5bf in __GI___poll (fds=fds@entry=0x7ffd81189fb8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007efc590adf42 in poll (__timeout=-1, __nfds=1, __fds=0x7ffd81189fb8) at /usr/include/bits/poll2.h:47
#2  _xcb_conn_wait (c=0x55b95a91e600, vector=0x0, count=0x0, cond=<optimized out>) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_conn.c:479
#3  0x00007efc590ae601 in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x7ffd8118a0e0, c=0x55b95a91e600) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_conn.c:445
#4  wait_for_reply (c=c@entry=0x55b95a91e600, request=985, e=e@entry=0x0) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_in.c:516
#5  0x00007efc590af515 in xcb_wait_for_reply (c=0x55b95a91e600, request=985, e=0x0) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_in.c:532
#6  0x00007efc47bf167c in QXcbConnection::xi2HandleDeviceChangedEvent (this=0x55b95a91bdf0, event=0x7efc40003a00) at /usr/src/debug/qt5-qtbase-5.15.2-15.fc34.x86_64/src/plugins/platforms/xcb/qxcbconnection_basic.h:71
#7  0x00007efc47bc3fad in QXcbConnection::handleXcbEvent (this=this@entry=0x55b95a91bdf0, event=event@entry=0x7efc40003a00) at qxcbconnection.cpp:670
#8  0x00007efc47bc5366 in QXcbConnection::processXcbEvents (this=0x55b95a91bdf0, flags=...) at qxcbconnection.cpp:1003
#9  0x00007efc47be84c7 in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:103
#10 0x00007efc57bf24cf in g_main_dispatch (context=0x7efc40005000) at ../glib/gmain.c:3337
#11 g_main_context_dispatch (context=0x7efc40005000) at ../glib/gmain.c:4055
#12 0x00007efc57c464e8 in g_main_context_iterate.constprop.0 (context=context@entry=0x7efc40005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
#13 0x00007efc57befc03 in g_main_context_iteration (context=0x7efc40005000, may_block=1) at ../glib/gmain.c:4196
#14 0x00007efc597d36f8 in QEventDispatcherGlib::processEvents (this=0x55b95aa54700, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#15 0x00007efc597859b2 in QEventLoop::exec (this=this@entry=0x7ffd8118a4d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#16 0x00007efc5978d544 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#17 0x000055b959ecd6dd in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kscreenlocker-5.21.5-1.fc34.x86_64/greeter/main.cpp:196



$ gdb /usr/bin/ksmserver core.10286
[...]
(gdb) thread apply all bt

Thread 3 (Thread 0x7f6224b44640 (LWP 10303)):
#0  0x00007f623743b5bf in __GI___poll (fds=0x7f6218004e80, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6235dd947c in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7f6218004e80, timeout=<optimized out>, context=0x7f6218000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7f6218000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007f6235d82c03 in g_main_context_iteration (context=0x7f6218000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007f6237a016f8 in QEventDispatcherGlib::processEvents (this=0x7f6218000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f62379b39b2 in QEventLoop::exec (this=this@entry=0x7f6224b43b20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007f623781b49a in QThread::exec (this=this@entry=0x7f6238320060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f62382b1f8b in QDBusConnectionManager::run (this=0x7f6238320060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f623781c751 in QThreadPrivate::start (arg=0x7f6238320060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f62366cc299 in start_thread (arg=0x7f6224b44640) at pthread_create.c:481
#10 0x00007f6237446353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f6225937640 (LWP 10294)):
#0  0x00007f623743b5bf in __GI___poll (fds=fds@entry=0x7f6225936a68, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f623731af42 in poll (__timeout=-1, __nfds=1, __fds=0x7f6225936a68) at /usr/include/bits/poll2.h:47
#2  _xcb_conn_wait (c=0x55fc5bdff9a0, vector=0x0, count=0x0, cond=<optimized out>) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_conn.c:479
#3  0x00007f623731c8fc in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x55fc5bdff9e0, c=0x55fc5bdff9a0) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_conn.c:445
#4  xcb_wait_for_event (c=0x55fc5bdff9a0) at /usr/src/debug/libxcb-1.13.1-7.fc34.x86_64/src/xcb_in.c:697
#5  0x00007f6225a3b497 in QXcbEventQueue::run (this=0x55fc5bdfa900) at qxcbeventqueue.cpp:228
#6  0x00007f623781c751 in QThreadPrivate::start (arg=0x55fc5bdfa900) at thread/qthread_unix.cpp:329
#7  0x00007f62366cc299 in start_thread (arg=0x7f6225937640) at pthread_create.c:481
#8  0x00007f6237446353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f6233068980 (LWP 10286)):
#0  0x00007f623743b5bf in __GI___poll (fds=0x55fc5bff9470, nfds=16, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6235dd947c in g_main_context_poll (priority=<optimized out>, n_fds=16, fds=0x55fc5bff9470, timeout=<optimized out>, context=0x7f6220005000) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7f6220005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007f6235d82c03 in g_main_context_iteration (context=0x7f6220005000, may_block=1) at ../glib/gmain.c:4196
#4  0x00007f6237a016f8 in QEventDispatcherGlib::processEvents (this=0x55fc5bf3ccc0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f62379b39b2 in QEventLoop::exec (this=this@entry=0x7ffd6329fe30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007f62379bb544 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x000055fc5a69c5cb in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.21.5-3.fc34.x86_64/ksmserver/main.cpp:319




$ gdb /usr/bin/sddm core.8912
[...]
(gdb) thread apply all bt

Thread 2 (Thread 0x7fc22c2a8640 (LWP 9002)):
#0  0x00007fc23ce3b5bf in __GI___poll (fds=0x7fc224005260, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fc23beeb47c in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7fc224005260, timeout=<optimized out>, context=0x7fc224000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7fc224000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007fc23be94c03 in g_main_context_iteration (context=0x7fc224000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007fc23d41c6f8 in QEventDispatcherGlib::processEvents (this=0x7fc224000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007fc23d3ce9b2 in QEventLoop::exec (this=this@entry=0x7fc22c2a7ba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fc23d23649a in QThread::exec (this=this@entry=0x7fc23dda2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007fc23dd33f8b in QDBusConnectionManager::run (this=0x7fc23dda2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007fc23d237751 in QThreadPrivate::start (arg=0x7fc23dda2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007fc23cd2e299 in start_thread (arg=0x7fc22c2a8640) at pthread_create.c:481
#10 0x00007fc23ce46353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fc23a0bd0c0 (LWP 8912)):
#0  0x00007fc23ce3b5bf in __GI___poll (fds=0x55a7ef861250, nfds=12, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fc23beeb47c in g_main_context_poll (priority=<optimized out>, n_fds=12, fds=0x55a7ef861250, timeout=<optimized out>, context=0x55a7ef83bc50) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x55a7ef83bc50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007fc23be94c03 in g_main_context_iteration (context=0x55a7ef83bc50, may_block=1) at ../glib/gmain.c:4196
#4  0x00007fc23d41c6f8 in QEventDispatcherGlib::processEvents (this=0x55a7ef83b370, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007fc23d3ce9b2 in QEventLoop::exec (this=this@entry=0x7ffccdb87eb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fc23d3d6544 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x000055a7ef1adb53 in main (argc=<optimized out>, argv=0x7ffccdb88098) at /usr/src/debug/sddm-0.19.0-13.fc34.x86_64/src/daemon/DaemonApp.cpp:137




$ gdb /usr/libexec/Xorg core.9039
[...]
(gdb) thread apply all bt

Thread 10 (Thread 0x7f3be1791640 (LWP 10107)):
#0  0x00007f3bf253d69e in epoll_wait (epfd=32, events=events@entry=0x7f3be178fe20, maxevents=maxevents@entry=256, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x000055f0f888ac28 in ospoll_wait (ospoll=0x55f0fa3fb5e0, timeout=timeout@entry=-1) at ../../os/ospoll.c:642
#2  0x000055f0f888ad90 in InputThreadDoWork (arg=<optimized out>) at ../../os/inputthread.c:369
#3  0x00007f3bf2615299 in start_thread (arg=0x7f3be1791640) at pthread_create.c:481
#4  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f3be1ffb640 (LWP 9996)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0fa171c08, cond=0x55f0fa171c30) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0fa171c30, mutex=0x55f0fa171c08) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be1ffb640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f3be27fc640 (LWP 9995)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0fa171c08, cond=0x55f0fa171c30) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0fa171c30, mutex=0x55f0fa171c08) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be27fc640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f3be2ffd640 (LWP 9994)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0fa171c08, cond=0x55f0fa171c30) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0fa171c30, mutex=0x55f0fa171c08) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be2ffd640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f3be37fe640 (LWP 9993)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0fa171c58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0fa171c08, cond=0x55f0fa171c30) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0fa171c30, mutex=0x55f0fa171c08) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be37fe640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f3be3fff640 (LWP 9756)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0f9b63d18, cond=0x55f0f9b63d40) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0f9b63d40, mutex=0x55f0f9b63d18) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be3fff640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f3be8eba640 (LWP 9755)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0f9b63d18, cond=0x55f0f9b63d40) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0f9b63d40, mutex=0x55f0f9b63d18) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be8eba640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f3be0eba640 (LWP 9754)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0f9b63d18, cond=0x55f0f9b63d40) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0f9b63d40, mutex=0x55f0f9b63d18) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be0eba640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f3be96bb640 (LWP 9753)):
#0  0x00007f3bf2621a8a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f3bf2621aef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55f0f9b63d68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f3bf261b2c0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55f0f9b63d18, cond=0x55f0f9b63d40) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55f0f9b63d40, mutex=0x55f0f9b63d18) at pthread_cond_wait.c:619
#4  0x00007f3bf010a09b in util_queue_thread_func () at /usr/lib64/dri/iris_dri.so
#5  0x00007f3bf0109b5b in impl_thrd_routine () at /usr/lib64/dri/iris_dri.so
#6  0x00007f3bf2615299 in start_thread (arg=0x7f3be96bb640) at pthread_create.c:481
#7  0x00007f3bf253d353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f3bf1ce0a80 (LWP 9039)):
#0  0x00007f3bf253d69e in epoll_wait (epfd=3, events=events@entry=0x7fff8991c5c0, maxevents=maxevents@entry=256, timeout=119377) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x000055f0f888ac28 in ospoll_wait (ospoll=0x55f0f998c480, timeout=<optimized out>) at ../../os/ospoll.c:642
#2  0x000055f0f8884ab0 in WaitForSomething (are_ready=0) at ../../os/WaitFor.c:208
#3  0x000055f0f8717bbd in Dispatch () at ../../dix/dispatch.c:421
#4  dix_main (envp=<optimized out>, argv=0x7fff8991d3e8, argc=13) at ../../dix/main.c:276
#5  main (argc=13, argv=0x7fff8991d3e8, envp=<optimized out>) at ../../dix/stubmain.c:34



$ gdb /usr/libexec/sddm-helper core.10193
[...]
(gdb) thread apply all bt

Thread 1 (Thread 0x7fa063457280 (LWP 10193)):
#0  0x00007fa0661c3587 in __GI___poll (fds=0x563cc2adfec0, nfds=7, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa06528e47c in g_main_context_poll (priority=<optimized out>, n_fds=7, fds=0x563cc2adfec0, timeout=<optimized out>, context=0x563cc2adc290) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x563cc2adc290, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007fa065237c03 in g_main_context_iteration (context=0x563cc2adc290, may_block=1) at ../glib/gmain.c:4196
#4  0x00007fa0667a476e in QEventDispatcherGlib::processEvents (this=0x563cc2ad8b90, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fa0667569b2 in QEventLoop::exec (this=this@entry=0x7ffe0471dee0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007fa06675e544 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x0000563cc252ace9 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/sddm-0.19.0-13.fc34.x86_64/src/helper/HelperApp.cpp:383




$ gdb /usr/bin/startplasma-x11 core.10213
[...]
(gdb) thread apply all bt

Thread 2 (Thread 0x7f0f12fbf640 (LWP 10280)):
#0  0x00007f0f2374e5bf in __GI___poll (fds=0x7f0f0c005260, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f22e4e47c in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f0f0c005260, timeout=<optimized out>, context=0x7f0f0c000c20) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x7f0f0c000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007f0f22df7c03 in g_main_context_iteration (context=0x7f0f0c000c20, may_block=1) at ../glib/gmain.c:4196
#4  0x00007f0f23e586f8 in QEventDispatcherGlib::processEvents (this=0x7f0f0c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f0f23e0a9b2 in QEventLoop::exec (this=this@entry=0x7f0f12fbeba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007f0f23c7249a in QThread::exec (this=this@entry=0x7f0f24205060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f0f24196f8b in QDBusConnectionManager::run (this=0x7f0f24205060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f0f23c73751 in QThreadPrivate::start (arg=0x7f0f24205060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f0f235af299 in start_thread (arg=0x7f0f12fbf640) at pthread_create.c:481
#10 0x00007f0f23759353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f0f204f0900 (LWP 10213)):
#0  0x00007f0f2374e5bf in __GI___poll (fds=0x7f0f0c028700, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f22e4e47c in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f0f0c028700, timeout=<optimized out>, context=0x562acc2163b0) at ../glib/gmain.c:4434
#2  g_main_context_iterate.constprop.0 (context=context@entry=0x562acc2163b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4126
#3  0x00007f0f22df7c03 in g_main_context_iteration (context=0x562acc2163b0, may_block=1) at ../glib/gmain.c:4196
#4  0x00007f0f23e5876e in QEventDispatcherGlib::processEvents (this=0x562acc215a30, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f0f23e0a9b2 in QEventLoop::exec (this=0x7fffb82965e0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x0000562acaa25fb5 in main ()
Comment 3 kevin 2021-06-06 16:19:44 UTC
One thing I've realized might be relevant is that I have a dual screen setup and sometimes I see the unlock screen on only one of the screens. This suggests the issue is that sometimes when I've disconnected from my dual screen setup and come back from sleep, it has decided to only show me my other screen and without the password input.
Comment 4 kevin 2021-06-17 23:07:19 UTC
The workaround seems to be to disconnect the secondary monitor before putting the laptop to sleep.
Comment 5 Roke Julian Lockhart Beedell 2021-11-19 13:02:32 UTC
This did occur for me after resumption from sleepness during every time that I did resume this computer after invoking sleepness for it during my usage of "http://kinoite.fedoraproject.org".
Comment 6 lcdr 2022-08-31 14:04:56 UTC
Created attachment 151737 [details]
journalctl output for the time the external monitor was disconnected and reconnected.
Comment 7 lcdr 2022-08-31 14:05:14 UTC
Can confirm. I've looked into this further, and managed to find a way to reliably reproduce it without having to wait for sleep. It's definitely an issue with multiple monitors, with the external monitor going to sleep/disconnecting. Symptoms are the exact same as in the OP, mouse can move, but login screen never reacts to input and keeps showing the clock only. The clock is frozen at the time the issue started (same time as in journalctl (see below)). However, after further testing I've found that the login form actually is there, just invisible. If you hover over the right area with the cursor, you get the textinput caret, and if you click and enter your password, you can actually unlock the system.


STEPS TO REPRODUCE
1. Connect external monitor (in my case, the machine is a laptop, and the external monitor is connected via HDMI).
2. Set screen setup to external monitor only.
3. Lock system.
4. Disconnect external monitor. Either physically disconnecting the HDMI cable or turning off the monitor's power switch works.
5. Wait for the internal monitor to turn on.
6. Reconnect the external monitor.

OBSERVED RESULT
The described situation happens, screen locker graphical output appears frozen, only clock is displayed, cursor still moves and responds to text input fields, unlock is possible if the text input field is focused.

EXPECTED RESULT
Normal graphical output from screen unlocker as on a single monitor.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 22.04
(available in About System)
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Graphics Platform: X11

ADDITIONAL INFORMATION

Possible workarounds are:
- As mentioned, finding the invisible password input field and entering the password blindly works.
- Dropping to shell, running `loginctl unlock-sessions` works.
- Dropping to shell, running `killall kwin_x11` works (but restarting kwin once unlocked is a nuisance).

In addition, journalctl reproducibly displays information related to EDID when the disconnect & reconnect is performed. I have attached the logs. Nothing else is logged during the relevant time period.
Comment 8 Nate Graham 2022-11-04 21:40:28 UTC

*** This bug has been marked as a duplicate of bug 374890 ***
Comment 9 Nate Graham 2023-10-27 20:43:23 UTC
Sorry, I think I mis-triaged this as a duplicate of bug 374890, which was not correct.
Comment 10 Nate Graham 2023-10-27 20:54:18 UTC
I can reproduce the issue in Plasma 6 on Wayland with the steps written in Comment 7.
Comment 11 Zamundaaa 2023-10-27 21:37:59 UTC
When I follow these steps on git master, the lock screen still works correctly
Comment 12 Nate Graham 2023-10-27 22:56:13 UTC
Hmm, can I get you any logs that would help troubleshoot it?
Comment 13 Nate Graham 2023-10-28 17:07:10 UTC
*** Bug 460353 has been marked as a duplicate of this bug. ***
Comment 14 Nate Graham 2023-10-30 21:18:12 UTC
I tried this again today to see if I could nail down detailed 100% reproducible steps for Xaver to try. Unfortunately I ran into series of other issues:

1. Connect external monitor either directly, or via a DisplayPort dongle (doesn't seem to make a difference)
2. Open the KScreen applet and click "Switch to external screen"
3. Lock system with Meta+L
4. Unplug HDMI cable
At this point the monitor doesn't turn back on see Bug 476340. While debugging that, I also ran into Bug 476341 and Bug 476342. I'll resume trying to get steps for this bug once Bug 476340 is fixed.
Comment 15 Zamundaaa 2023-11-09 11:43:15 UTC
Git commit c1312a555169c801b2c116a7b333443730092e07 by Xaver Hugl.
Committed on 09/11/2023 at 12:35.
Pushed by zamundaaa into branch 'master'.

backends/drm: fix pageflip events getting lost when outputs get turned off

When a display gets turned off while a pageflip event was still pending, the pending
state gets changed immediately, without waiting for the pageflip event to arrive first.
When this happens, activePending() returns false, and so the pageflip event gets discarded.
This commit changes the logic to only check for activePending() when the pageflip is for a
modeset, avoiding that issue.
Related: bug 476340, bug 476341, bug 476342, bug 475146

M  +10   -2    src/backends/drm/drm_commit.cpp
M  +2    -0    src/backends/drm/drm_commit.h
M  +5    -2    src/backends/drm/drm_pipeline.cpp
M  +2    -1    src/backends/drm/drm_pipeline.h

https://invent.kde.org/plasma/kwin/-/commit/c1312a555169c801b2c116a7b333443730092e07