Closed romangg closed 8 months ago
Have Disman running and connect a second output. Likely an issue in Wrapland though.
#0 std::__uniq_ptr_impl<Wrapland::Client::WlrOutputModeV1::Private, std::default_delete<Wrapland::Client::WlrOutputModeV1::Private> >::_M_ptr (this=0xfe0800000010) at /usr/include/c++/10.2.0/bits/unique_ptr.h:173 #1 0x00007ffff2915772 in std::unique_ptr<Wrapland::Client::WlrOutputModeV1::Private, std::default_delete<Wrapland::Client::WlrOutputModeV1::Private> >::get (this=0xfe0800000010) at /usr/include/c++/10.2.0/bits/unique_ptr.h:422 #2 0x00007ffff2914ff8 in std::unique_ptr<Wrapland::Client::WlrOutputModeV1::Private, std::default_delete<Wrapland::Client::WlrOutputModeV1::Private> >::operator-> (this=0xfe0800000010) at /usr/include/c++/10.2.0/bits/unique_ptr.h:416 #3 0x00007ffff2913d60 in Wrapland::Client::WlrOutputModeV1::size (this=0xfe0800000000) at /home/roman/dev/kde/wrapland/src/src/client/wlr_output_manager_v1.cpp:238 #4 0x00007ffff29dd8f5 in Disman::WlrootsOutput::geometry (this=0x555555613d10) at /home/roman/dev/kde/disman/src/backends/wayland/plugins/wlroots-wrapland/wlroots_output.cpp:90 #5 0x00007ffff34dd8ce in Disman::WaylandScreen::setOutputs (this=0x5555555a3110, outputs=std::vector of length 2, capacity 2 = {...}) at /home/roman/dev/kde/disman/src/backends/wayland/waylandscreen.cpp:50 #6 0x00007ffff34d6816 in Disman::WaylandBackend::setScreenOutputs (this=0x5555555ee570) at /home/roman/dev/kde/disman/src/backends/wayland/waylandbackend.cpp:155 #7 0x00007ffff34db9e4 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Disman::WaylandBackend::*)()>::call(void (Disman::WaylandBackend::*)(), Disman::WaylandBackend*, void**) (f=(void (Disman::WaylandBackend::*)(Disman::WaylandBackend * const)) 0x7ffff34d6700 <Disman::WaylandBackend::setScreenOutputs()>, o=0x5555555ee570, arg=0x7fffffffca10) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #8 0x00007ffff34db585 in QtPrivate::FunctionPointer<void (Disman::WaylandBackend::*)()>::call<QtPrivate::List<>, void>(void (Disman::WaylandBackend::*)(), Disman::WaylandBackend*, void**) (f=(void (Disman::WaylandBackend::*)(Disman::WaylandBackend * const)) 0x7ffff34d6700 <Disman::WaylandBackend::setScreenOutputs()>, o=0x5555555ee570, arg=0x7fffffffca10) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #9 0x00007ffff34daf75 in QtPrivate::QSlotObject<void (Disman::WaylandBackend::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555a1c50, r=0x5555555ee570, a=0x7fffffffca10, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #10 0x00007ffff7570036 in ?? () from /usr/lib/libQt5Core.so.5 #11 0x00007ffff33acdb9 in Disman::WaylandInterface::outputsChanged (this=0x5555555c0eb0) at backends/wayland/DismanWayland_autogen/EWIEGA46WW/moc_wayland_interface.cpp:185 #12 0x00007ffff33b4273 in Disman::WaylandInterface::initOutput (this=0x5555555c0eb0, output=0x555555613d10) at /home/roman/dev/kde/disman/src/backends/wayland/wayland_interface.cpp:81 #13 0x00007ffff33b4082 in operator() (__closure=0x5555555d7c00) at /home/roman/dev/kde/disman/src/backends/wayland/wayland_interface.cpp:71 #14 0x00007ffff33b4a9d in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Disman::WaylandInterface::addOutput(Disman::WaylandOutput*)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7fffffffcc20) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #15 0x00007ffff33b49ed in QtPrivate::Functor<Disman::WaylandInterface::addOutput(Disman::WaylandOutput*)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7fffffffcc20) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #16 0x00007ffff33b4908 in QtPrivate::QFunctorSlotObject<Disman::WaylandInterface::addOutput(Disman::WaylandOutput*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x5555555d7bf0, r=0x5555555c0eb0, a=0x7fffffffcc20, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #17 0x00007ffff7570036 in ?? () from /usr/lib/libQt5Core.so.5 #18 0x00007ffff33ad343 in Disman::WaylandOutput::dataReceived (this=0x555555613d10) at backends/wayland/DismanWayland_autogen/EWIEGA46WW/moc_waylandoutput.cpp:154 #19 0x00007ffff29dd68b in operator() (__closure=0x5555555d83c0) at /home/roman/dev/kde/disman/src/backends/wayland/plugins/wlroots-wrapland/wlroots_output.cpp:70 #20 0x00007ffff29df2f7 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Disman::WlrootsOutput::WlrootsOutput(quint32, Wrapland::Client::WlrOutputHeadV1*, Disman::WlrootsInterface*)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7fffffffcdf0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #21 0x00007ffff29df2c9 in QtPrivate::Functor<Disman::WlrootsOutput::WlrootsOutput(quint32, Wrapland::Client::WlrOutputHeadV1*, Disman::WlrootsInterface*)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7fffffffcdf0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #22 0x00007ffff29df298 in QtPrivate::QFunctorSlotObject<Disman::WlrootsOutput::WlrootsOutput(quint32, Wrapland::Client::WlrOutputHeadV1*, Disman::WlrootsInterface*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x5555555d83b0, r=0x555555613d10, a=0x7fffffffcdf0, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #23 0x00007ffff7570036 in ?? () from /usr/lib/libQt5Core.so.5 #24 0x00007ffff28823cd in Wrapland::Client::WlrOutputManagerV1::done (this=0x5555555a3340) at src/client/WraplandClient_autogen/EWIEGA46WW/moc_wlr_output_manager_v1.cpp:172 #25 0x00007ffff291365b in Wrapland::Client::WlrOutputManagerV1::Private::doneCallback (data=0x5555555f3ab0, manager=0x5555555f7d80, serial=459) at /home/roman/dev/kde/wrapland/src/src/client/wlr_output_manager_v1.cpp:77 #26 0x00007ffff7f3fa8d in ?? () from /usr/lib/libffi.so.7 #27 0x00007ffff7f3f01b in ?? () from /usr/lib/libffi.so.7 #28 0x00007ffff7f4e2a2 in wl_closure_invoke (closure=closure@entry=0x7fffe8012420, flags=flags@entry=1, target=<optimized out>, target@entry=0x5555555f7d80, opcode=opcode@entry=1, data=<optimized out>) at ../../src/wayland/src/connection.c:1018 #29 0x00007ffff7f4a96a in dispatch_event (display=display@entry=0x7fffe8004aa0, queue=<optimized out>, queue=<optimized out>) at ../../src/wayland/src/wayland-client.c:1452 #30 0x00007ffff7f4c00c in dispatch_queue (queue=0x5555555a5320, display=0x7fffe8004aa0) at ../../src/wayland/src/wayland-client.c:1598 #31 wl_display_dispatch_queue_pending (display=0x7fffe8004aa0, queue=0x5555555a5320) at ../../src/wayland/src/wayland-client.c:1840 #32 0x00007ffff2892421 in Wrapland::Client::EventQueue::dispatch (this=0x7fffe4004ff0) at /home/roman/dev/kde/wrapland/src/src/client/event_queue.cpp:96 #33 0x00007ffff2892cba in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Wrapland::Client::EventQueue::*)()>::call(void (Wrapland::Client::EventQueue::*)(), Wrapland::Client::EventQueue*, void**) (f=(void (Wrapland::Client::EventQueue::*)(Wrapland::Client::EventQueue * const)) 0x7ffff289238c <Wrapland::Client::EventQueue::dispatch()>, o=0x7fffe4004ff0, arg=0x7fffe80129e8) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152 #34 0x00007ffff2892bbd in QtPrivate::FunctionPointer<void (Wrapland::Client::EventQueue::*)()>::call<QtPrivate::List<>, void>(void (Wrapland::Client::EventQueue::*)(), Wrapland::Client::EventQueue*, void**) (f=(void (Wrapland::Client::EventQueue::*)(Wrapland::Client::EventQueue * const)) 0x7ffff289238c <Wrapland::Client::EventQueue::dispatch()>, o=0x7fffe4004ff0, arg=0x7fffe80129e8) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185 #35 0x00007ffff2892ab3 in QtPrivate::QSlotObject<void (Wrapland::Client::EventQueue::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555a0930, r=0x7fffe4004ff0, a=0x7fffe80129e8, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418 #36 0x00007ffff75657e2 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 #37 0x00007ffff7538cda in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #38 0x00007ffff753b7d3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 #39 0x00007ffff7592304 in ?? () from /usr/lib/libQt5Core.so.5 #40 0x00007ffff6364bfc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #41 0x00007ffff63b61f9 in ?? () from /usr/lib/libglib-2.0.so.0 #42 0x00007ffff6363421 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #43 0x00007ffff7591941 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #44 0x00007ffff753765c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #45 0x00007ffff753faf4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #46 0x0000555555557f2b in main (argc=1, argv=0x7fffffffd8b8) at /home/roman/dev/kde/disman/src/service/main.cpp:49
The issue seems to be that new outputs are not enabled by default and then no "current mode" is sent.
mentioned in commit 88cd734091d42a0d636624ed87151718f932da7f
Have Disman running and connect a second output. Likely an issue in Wrapland though.