https://bugs.kde.org/show_bug.cgi?id=515199
Alec Walsh <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |glisten_deceptive077@simple | |login.com --- Comment #11 from Alec Walsh <[email protected]> --- I'm dealing with what I think is the same issue, and I have some more information and a stack trace. I have 2 monitors, 1 HDMI and 1 DisplayPort, and the issue occurs when disconnecting either of them. The issue does not happen when connecting a monitor, only when disconnecting. The process that is crashing is plasma-login-greeter. plasma-login-wallpaper exits as well, but it doesn't seem to be a crash. Rebooting is not necessary, restarting Plasma Login Manager(systemctl restart plasmalogin.service) after it crashes seems to work fine. The same issue occurs whenever the system resumes after suspending, with a slightly different stack trace. I think it's probably the same underlying bug though. Operating System: Arch Linux KDE Plasma Version: 6.6.2 Qt Version: 6.10.2 Kernel Version: 6.19.8-arch1-1 GPU: Radeon RX 9070XT Stack trace when disconnecting monitor: #0 QWindow::screen (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2261 #1 0x0000564fbc7a031e in LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}::operator()(QScreen*) const (__closure=0x564fc94854b0, screenRemoved=0x564fc91df950) at /usr/src/debug/plasma-login-manager/plasma-login-manager-6.6.2/src/frontend/greeter/main.cpp:56 #2 QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**)::{lambda()#1}::operator()() const (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116 #3 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**)::{lambda()#1}&&) (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65 #4 QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**) (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115 #5 QtPrivate::FunctorCallable<LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}, QScreen*>::call<QtPrivate::List<QScreen*>, void>(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void*, void**) (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337 #6 QtPrivate::QCallableObject<LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}, QtPrivate::List<QScreen*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=0x564fc94854a0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547 #7 0x00007fd1bd3d8f0f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #8 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4272 #9 0x00007fd1bdc2305e in QMetaObject::activate<void, QScreen*> (sender=0x7ffe39d9d3b0, mo=<optimized out>, local_signal_index=2, ret=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:319 #10 QGuiApplication::screenRemoved (this=0x7ffe39d9d3b0, _t1=0x564fc91df950) at /usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qguiapplication.cpp:309 #11 QWindowSystemInterface::handleScreenRemoved (platformScreen=0x7fd1a0106890) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:760 #12 0x00007fd1bc964dc4 in QtWaylandClient::QWaylandDisplay::registry_global_remove (this=0x564fc89a2710, id=78) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:836 #13 0x00007fd1bad9bac6 in ?? () from /usr/lib/libffi.so.8 #14 0x00007fd1bad9876b in ?? () from /usr/lib/libffi.so.8 #15 0x00007fd1bad9b06e in ffi_call () from /usr/lib/libffi.so.8 #16 0x00007fd1be32948d in ?? () from /usr/lib/libwayland-client.so.0 #17 0x00007fd1be32a2e9 in ?? () from /usr/lib/libwayland-client.so.0 #18 0x00007fd1be32a6f3 in wl_display_dispatch_queue_pending () from /usr/lib/libwayland-client.so.0 #19 0x00007fd1bc95eb36 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:229 #20 0x00007fd1bd3c6474 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1413 #21 0x00007fd1bd36bf48 in QCoreApplication::notifyInternal2 (receiver=0x564fc89a2710, event=event@entry=0x7fd1a8001a80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #22 0x00007fd1bd36c320 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fd1a8001a80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549 #23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x564fc8998e70) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1904 #24 0x00007fd1bd651e78 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1757 #25 postEventSourceDispatch (s=0x564fc89b2510) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #26 0x00007fd1bb106f4d in ?? () from /usr/lib/libglib-2.0.so.0 #27 0x00007fd1bb108617 in ?? () from /usr/lib/libglib-2.0.so.0 #28 0x00007fd1bb108825 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #29 0x00007fd1bd64fcb2 in QEventDispatcherGlib::processEvents (this=0x564fc89a0bf0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #30 0x00007fd1bd376cf6 in QEventLoop::processEvents (this=0x7ffe39d9d2a0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #31 QEventLoop::exec (this=0x7ffe39d9d2a0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #32 0x00007fd1bd3709f1 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1452 #33 0x0000564fbc79dbbb in main (argc=<optimized out>, argv=0x7ffe39d9d608) at /usr/src/debug/plasma-login-manager/plasma-login-manager-6.6.2/src/frontend/greeter/main.cpp:136 Stack trace when resuming from suspend: #0 QWeakPointer<QObject>::internalData (this=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer_impl.h:800 #1 QPointer<QScreen>::data (this=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:75 #2 QWindow::screen (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2261 #3 0x000055827996b31e in LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}::operator()(QScreen*) const (__closure=0x7f2ff17fadc0, screenRemoved=0x5582b0a7bef0) at /usr/src/debug/plasma-login-manager/plasma-login-manager-6.6.2/src/frontend/greeter/main.cpp:56 #4 QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**)::{lambda()#1}::operator()() const (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116 #5 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**)::{lambda()#1}&&) (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65 #6 QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QScreen*>, void, LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}>::call(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void**) (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115 #7 QtPrivate::FunctorCallable<LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}, QScreen*>::call<QtPrivate::List<QScreen*>, void>(LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}&, void*, void**) (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337 #8 QtPrivate::QCallableObject<LoginGreeter::createWindowForScreen(QScreen*)::{lambda(QScreen*)#1}, QtPrivate::List<QScreen*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=0x7f2ff17fadb0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547 #9 0x00007f3039fd8f0f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #10 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4272 #11 0x00007f303a82305e in QMetaObject::activate<void, QScreen*> (sender=0x7ffe2cc4b7d0, mo=<optimized out>, local_signal_index=2, ret=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:319 #12 QGuiApplication::screenRemoved (this=0x7ffe2cc4b7d0, _t1=0x5582b0a7bef0) at /usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qguiapplication.cpp:309 #13 QWindowSystemInterface::handleScreenRemoved (platformScreen=0x7f30240037d0) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:760 #14 0x00007f3039601dc4 in QtWaylandClient::QWaylandDisplay::registry_global_remove (this=0x5582af8a8710, id=78) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:836 #15 0x00007f303857eac6 in ?? () from /usr/lib/libffi.so.8 #16 0x00007f303857b76b in ?? () from /usr/lib/libffi.so.8 #17 0x00007f303857e06e in ffi_call () from /usr/lib/libffi.so.8 #18 0x00007f303b7f448d in ?? () from /usr/lib/libwayland-client.so.0 #19 0x00007f303b7f52e9 in ?? () from /usr/lib/libwayland-client.so.0 #20 0x00007f303b7f56f3 in wl_display_dispatch_queue_pending () from /usr/lib/libwayland-client.so.0 #21 0x00007f30395fbb36 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:229 #22 0x00007f3039fc6474 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1413 #23 0x00007f3039f6bf48 in QCoreApplication::notifyInternal2 (receiver=0x5582af8a8710, event=event@entry=0x7f30240027f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #24 0x00007f3039f6c320 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7f30240027f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549 #25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5582af89ee70) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1904 #26 0x00007f303a251e78 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1757 #27 postEventSourceDispatch (s=0x5582af8b8300) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #28 0x00007f3037e5af4d in ?? () from /usr/lib/libglib-2.0.so.0 #29 0x00007f3037e5c617 in ?? () from /usr/lib/libglib-2.0.so.0 #30 0x00007f3037e5c825 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #31 0x00007f303a24fcb2 in QEventDispatcherGlib::processEvents (this=0x5582af8a6bf0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #32 0x00007f3039f76cf6 in QEventLoop::processEvents (this=0x7ffe2cc4b6c0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #33 QEventLoop::exec (this=0x7ffe2cc4b6c0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #34 0x00007f3039f709f1 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1452 #35 0x0000558279968bbb in main (argc=<optimized out>, argv=0x7ffe2cc4ba28) at /usr/src/debug/plasma-login-manager/plasma-login-manager-6.6.2/src/frontend/greeter/main.cpp:136 I'm willing to provide any additional information needed and I can help test any fixes. -- You are receiving this mail because: You are watching all bug changes.
