Bug 451570 - kwin_wayland hangs in KWin::Xcb::AbstractWrapper() after unplugging monitor
Summary: kwin_wayland hangs in KWin::Xcb::AbstractWrapper() after unplugging monitor
Status: RESOLVED DUPLICATE of bug 442846
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-16 12:14 UTC by Nicolas Fella
Modified: 2022-03-30 14:44 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Fella 2022-03-16 12:14:12 UTC
After unpluggin and replugging an external monitor a couple of times everything freezes.

 Attaching gdb to kwin_wayland shows

#0  0x00007fd239a652af in poll () at /usr/lib/libc.so.6
#1  0x00007fd23c12b63b in  () at /usr/lib/libxcb.so.1
#2  0x00007fd23c12d08f in  () at /usr/lib/libxcb.so.1
#3  0x00007fd23c12d1a2 in xcb_wait_for_reply () at /usr/lib/libxcb.so.1
#4  0x0000557a8cb3a31f in KWin::Xcb::AbstractWrapper<KWin::Xcb::RandR::ScreenResourcesData>::getReply() (this=0x7ffe6c711930) at /home/nico/kde/src/kwin/src/utils/xcbutils.h:323
#5  0x0000557a8cb39182 in KWin::Xcb::AbstractWrapper<KWin::Xcb::RandR::ScreenResourcesData>::isNull() (this=0x7ffe6c711930) at /home/nico/kde/src/kwin/src/utils/xcbutils.h:254
#6  0x0000557a8cb38e0a in KWin::Xcb::RandR::ScreenResources::crtcs() (this=0x7ffe6c711930) at /home/nico/kde/src/kwin/src/utils/xcbutils.h:1119
#7  0x0000557a8cb37fd4 in KWin::Xwl::Xwayland::updatePrimary(KWin::AbstractOutput*) (this=0x557a8d309ff0, primaryOutput=0x557a8d0fecc0) at /home/nico/kde/src/kwin/src/xwl/xwayland.cpp:456
#8  0x0000557a8cb355ea in KWin::Xwl::XrandrEventFilter::event(xcb_generic_event_t*) (this=0x557a8dc18980, event=0x557a8f6a3580) at /home/nico/kde/src/kwin/src/xwl/xwayland.cpp:82
#9  0x00007fd23d570599 in KWin::Application::dispatchEvent(xcb_generic_event_t*) (this=0x7ffe6c712180, event=0x557a8f6a3580) at /home/nico/kde/src/kwin/src/main.cpp:489
#10 0x00007fd23d5707f3 in KWin::XcbEventFilter::nativeEventFilter(QByteArray const&, void*, long*) (this=0x557a8cddd970, eventType=..., message=0x557a8f6a3580, result=0x7ffe6c711c30) at /home/nico/kde/src/kwin/src/main.cpp:584
#11 0x00007fd23b6f540f in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=0x557a8f6a3580, result=0x7ffe6c711c30) at kernel/qabstracteventdispatcher.cpp:495
#12 0x0000557a8cb36e77 in KWin::Xwl::Xwayland::dispatchEvents() (this=0x557a8d309ff0) at /home/nico/kde/src/kwin/src/xwl/xwayland.cpp:312
#13 0x0000557a8cb3bb35 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Xwl::Xwayland::*)()>::call(void (KWin::Xwl::Xwayland::*)(), KWin::Xwl::Xwayland*, void**)
    (f=(void (KWin::Xwl::Xwayland::*)(class KWin::Xwl::Xwayland * const)) 0x557a8cb36cee <KWin::Xwl::Xwayland::dispatchEvents()>, o=0x557a8d309ff0, arg=0x7ffe6c711dd0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:152
#14 0x0000557a8cb3b54a in QtPrivate::FunctionPointer<void (KWin::Xwl::Xwayland::*)()>::call<QtPrivate::List<>, void>(void (KWin::Xwl::Xwayland::*)(), KWin::Xwl::Xwayland*, void**)
    (f=(void (KWin::Xwl::Xwayland::*)(class KWin::Xwl::Xwayland * const)) 0x557a8cb36cee <KWin::Xwl::Xwayland::dispatchEvents()>, o=0x557a8d309ff0, arg=0x7ffe6c711dd0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:185
#15 0x0000557a8cb3ad2f in QtPrivate::QSlotObject<void (KWin::Xwl::Xwayland::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x557a8d1c2140, r=0x557a8d309ff0, a=0x7ffe6c711dd0, ret=0x0)
    at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:418
#16 0x00007fd23b72e613 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe6c711dd0, r=0x557a8d309ff0, this=0x557a8d1c2140) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false>(QObject*, int, void**) (sender=0x557a8cdd7680, signal_index=3, argv=0x7ffe6c711dd0) at kernel/qobject.cpp:3886
#18 0x00007fd23b727adf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x557a8cdd7680, m=m@entry=0x7fd23b9c9780 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
    at kernel/qobject.cpp:3946
#19 0x00007fd23b6f4a50 in QAbstractEventDispatcher::aboutToBlock() (this=this@entry=0x557a8cdd7680) at .moc/moc_qabstracteventdispatcher.cpp:143
#20 0x00007fd23b74cd17 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x557a8cdd7680, flags=...) at kernel/qeventdispatcher_unix.cpp:479
#21 0x0000557a8cc93bfd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63
#22 0x00007fd23b6f687b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe6c711f60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#23 0x00007fd23b6feb50 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#24 0x0000557a8cb69805 in main(int, char**) (argc=14, argv=0x7ffe6c7123c8) at /home/nico/kde/src/kwin/src/main_wayland.cpp:727

It seems that XWayland has crashed since there is a coredump for it
Comment 1 Zamundaaa 2022-03-26 20:55:22 UTC
> It seems that XWayland has crashed since there is a coredump for it

What's the backtrace for it (if you still have it)?
Comment 2 David Edmundson 2022-03-30 14:44:33 UTC

*** This bug has been marked as a duplicate of bug 442846 ***