Summary: | Crash in ScreenPool::screenInvariants() after ScreenPool::handleOutputOrderChanged() when waking up or re-plugging a screen | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Aleix Pol <aleixpol> |
Component: | generic-multiscreen | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, bednarczyk.pawel, bertil.bonus, bugs.kde.org.id324, fenixxxzzzz, jernej.srebrnic, kde, kdedev, keplicz, markox123, nate, nicolas.fella, notmart, qydwhotmail |
Priority: | NOR | Keywords: | multiscreen, qt6, regression |
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/adbda2062a60a9a4eb88fe3d1d798c15f7c33b34 | Version Fixed In: | 6.2.0 |
Sentry Crash Report: |
Description
Aleix Pol
2023-01-16 13:53:00 UTC
Updated backtrace: Application: Plasma (plasmashell), signal: Aborted Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0} [KCrash Handler] #5 0x00007f9d4b8a164c in () at /usr/lib/libc.so.6 #6 0x00007f9d4b851958 in raise () at /usr/lib/libc.so.6 #7 0x00007f9d4b83b53d in abort () at /usr/lib/libc.so.6 #8 0x00007f9d4be93caf in qt_message_fatal (message=<synthetic pointer>..., context=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914 #9 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffd82264858, msg=msg@entry=0x7f9d4c199000 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893 #10 0x00007f9d4be93008 in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qglobal.cpp:3376 #11 0x000055a32defaa0e in ScreenPool::screenInvariants() (this=0x55a32e5727f0) at /home/apol/devel/frameworks/plasma-workspace/shell/screenpool.cpp:320 #12 0x000055a32defa66e in ScreenPool::handleOutputOrderChanged(QStringList const&) (this=0x55a32e5727f0, newOrder=...) at /home/apol/devel/frameworks/plasma-workspace/shell/screenpool.cpp:295 #13 0x000055a32defee04 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QStringList const&>, void, void (ScreenPool::*)(QStringList const&)>::call(void (ScreenPool::*)(QStringList const&), ScreenPool*, void**) (f=(void (ScreenPool::*)(ScreenPool * const, const QStringList &)) 0x55a32defa2f8 <ScreenPool::handleOutputOrderChanged(QStringList const&)>, o=0x55a32e5727f0, arg=0x7ffd82264b80) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152 #14 0x000055a32defe9c9 in QtPrivate::FunctionPointer<void (ScreenPool::*)(QStringList const&)>::call<QtPrivate::List<QStringList const&>, void>(void (ScreenPool::*)(QStringList const&), ScreenPool*, void**) (f=(void (ScreenPool::*)(ScreenPool * const, const QStringList &)) 0x55a32defa2f8 <ScreenPool::handleOutputOrderChanged(QStringList const&)>, o=0x55a32e5727f0, arg=0x7ffd82264b80) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185 #15 0x000055a32defe295 in QtPrivate::QSlotObject<void (ScreenPool::*)(QStringList const&), QtPrivate::List<QStringList const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55a32e529a80, r=0x55a32e5727f0, a=0x7ffd82264b80, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418 #16 0x00007f9d4c0ed99d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd82264b80, r=0x55a32e5727f0, this=0x55a32e529a80) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #17 doActivate<false>(QObject*, int, void**) (sender=0x55a32e562060, signal_index=3, argv=0x7ffd82264b80) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3923 #18 0x000055a32de887f8 in OutputOrderWatcher::outputOrderChanged(QStringList const&) (this=0x55a32e562060, _t1=...) at /home/apol/build-devel/frameworks/plasma-workspace/shell/plasmashell_autogen/EWIEGA46WW/moc_outputorderwatcher.cpp:133 #19 0x000055a32debd4e9 in operator()(QStringList const&) const (__closure=0x55a32e580ed0, order=...) at /home/apol/devel/frameworks/plasma-workspace/shell/outputorderwatcher.cpp:308 #20 0x000055a32debf1fc in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QStringList&>, void, WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)> >::call(struct {...} &, void **) (f=..., arg=0x7ffd82264d50) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:146 #21 0x000055a32debe8cf in QtPrivate::Functor<WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)>, 1>::call<QtPrivate::List<QStringList const&>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffd82264d50) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:256 #22 0x000055a32debe3f6 in QtPrivate::QFunctorSlotObject<WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)>, 1, QtPrivate::List<const QStringList&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55a32e580ec0, r=0x55a32e562060, a=0x7ffd82264d50, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:443 #23 0x00007f9d4c0ed99d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd82264d50, r=0x55a32e562060, this=0x55a32e580ec0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #24 doActivate<false>(QObject*, int, void**) (sender=0x55a32e573320, signal_index=5, argv=0x7ffd82264d50) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3923 #25 0x000055a32debda82 in WaylandOutputOrder::outputOrderChanged(QStringList const&) (this=0x55a32e573320, _t1=...) at /home/apol/build-devel/frameworks/plasma-workspace/shell/plasmashell_autogen/include/outputorderwatcher.moc:134 #26 0x000055a32debfe81 in WaylandOutputOrder::kde_output_order_v1_done() (this=0x55a32e573320) at /home/apol/devel/frameworks/plasma-workspace/shell/outputorderwatcher.cpp:63 #27 0x000055a32df2456b in QtWayland::kde_output_order_v1::handle_done(void*, kde_output_order_v1*) (data=0x55a32e573330, object=0x55a32e57e770) at /home/apol/build-devel/frameworks/plasma-workspace/shell/qwayland-kde-output-order-v1.cpp:103 #28 0x00007f9d4da4f4f6 in () at /usr/lib/libffi.so.8 #29 0x00007f9d4da4bf5e in () at /usr/lib/libffi.so.8 #30 0x00007f9d4da4eb73 in ffi_call () at /usr/lib/libffi.so.8 #31 0x00007f9d4f242645 in () at /usr/lib/libwayland-client.so.0 #32 0x00007f9d4f242e03 in () at /usr/lib/libwayland-client.so.0 #33 0x00007f9d4f242ffc in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0 #34 0x00007f9d4dbe6912 in QtWaylandClient::QWaylandDisplay::flushRequests() (this=<optimized out>) at /home/apol/devel/frameworks/qt5/qtwayland/src/client/qwaylanddisplay.cpp:253 #35 0x00007f9d4c0e2230 in QObject::event(QEvent*) (this=0x55a32e120db0, e=0x7f9d38016f40) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1347 #36 0x00007f9d4d16801e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55a32e120db0, e=0x7f9d38016f40) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3640 #37 0x00007f9d4c0b60d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55a32e120db0, event=0x7f9d38016f40) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064 #38 0x00007f9d4c0b9071 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55a32e111800) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1821 #39 0x00007f9d4c10ed53 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55a32e13b1f0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:277 #40 0x00007f9d4afc887b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #41 0x00007f9d4b01fc89 in () at /usr/lib/libglib-2.0.so.0 #42 0x00007f9d4afc7132 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #43 0x00007f9d4c10e44e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55a32e0e4cd0, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425 #44 0x00007f9d4c0b4b4b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd82265600, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69 #45 0x00007f9d4c0bccb6 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121 #46 0x000055a32de96e04 in main(int, char**) (argc=2, argv=0x7ffd822658b8) at /home/apol/devel/frameworks/plasma-workspace/shell/main.cpp:235 [Inferior 1 (process 416932) detached] Got the same crash when using the virtual monitor thing in KDE Connect #0 __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at pthread_sigmask.c:43 #1 0x00007f3ffda5fd1d in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25 #2 0x00007f4000feee6b in KCrash::setCrashHandler(void (*)(int)) (handler=0x0) at /home/nico/kde/src/kcrash/src/kcrash.cpp:414 #3 0x00007f4000fef7b2 in KCrash::defaultCrashHandler(int) (sig=6) at /home/nico/kde/src/kcrash/src/kcrash.cpp:625 #4 0x00007f3ffda5fb20 in <signal handler called> () at /lib64/libc.so.6 #5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #6 0x00007f3ffdaafec3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #7 0x00007f3ffda5fa76 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #8 0x00007f3ffda497fc in __GI_abort () at abort.c:79 #9 0x00007f3ffe098b75 in qt_message_fatal (message=<synthetic pointer>..., context=<optimized out>) at global/qlogging.cpp:1914 #10 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffddebe04c0, msg=msg@entry=0x7f3ffe38b048 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:893 #11 0x00007f3ffe097ff5 in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:3376 #12 0x000000000048f5ae in ScreenPool::screenInvariants() (this=0x1401bc0) at /home/nico/kde/src/plasma-workspace/shell/screenpool.cpp:320 #13 0x000000000048f255 in ScreenPool::handleOutputOrderChanged(QStringList const&) (this=0x1401bc0, newOrder=...) at /home/nico/kde/src/plasma-workspace/shell/screenpool.cpp:295 #14 0x00000000004933a0 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QStringList const&>, void, void (ScreenPool::*)(QStringList const&)>::call(void (ScreenPool::*)(QStringList const&), ScreenPool*, void**) (f=(void (ScreenPool::*)(class ScreenPool * const, const class QStringList &)) 0x48ee76 <ScreenPool::handleOutputOrderChanged(QStringList const&)>, o=0x1401bc0, arg=0x7ffddebe0840) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:152 #15 0x0000000000493001 in QtPrivate::FunctionPointer<void (ScreenPool::*)(QStringList const&)>::call<QtPrivate::List<QStringList const&>, void>(void (ScreenPool::*)(QStringList const&), ScreenPool*, void**) (f=(void (ScreenPool::*)(class ScreenPool * const, const class QStringList &)) 0x48ee76 <ScreenPool::handleOutputOrderChanged(QStringList const&)>, o=0x1401bc0, arg=0x7ffddebe0840) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:185 #16 0x0000000000492913 in QtPrivate::QSlotObject<void (ScreenPool::*)(QStringList const&), QtPrivate::List<QStringList const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x14346e0, r=0x1401bc0, a=0x7ffddebe0840, ret=0x0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:418 #17 0x00007f3ffe2e7ab2 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffddebe0840, r=0x1401bc0, this=0x14346e0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #18 doActivate<false>(QObject*, int, void**) (sender=0x1437cb0, signal_index=3, argv=0x7ffddebe0840) at kernel/qobject.cpp:3923 #19 0x0000000000424733 in OutputOrderWatcher::outputOrderChanged(QStringList const&) (this=0x1437cb0, _t1=...) at /home/nico/kde/build/plasma-workspace/shell/plasmashell_autogen/EWIEGA46WW/moc_outputorderwatcher.cpp:133 #20 0x00000000004569f1 in operator()(QStringList const&) const (__closure=0x1434a20, order=...) at /home/nico/kde/src/plasma-workspace/shell/outputorderwatcher.cpp:308 #21 0x0000000000458458 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QStringList&>, void, WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)> >::call(struct {...} &, void **) (f=..., arg=0x7ffddebe09f0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:146 #22 0x0000000000457bcc in QtPrivate::Functor<WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)>, 1>::call<QtPrivate::List<QStringList const&>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffddebe09f0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:256 #23 0x000000000045777e in QtPrivate::QFunctorSlotObject<WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)>, 1, QtPrivate::List<const QStringList&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x1434a10, r=0x1437cb0, a=0x7ffddebe09f0, ret=0x0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:443 #24 0x00007f3ffe2e7ab2 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffddebe09f0, r=0x1437cb0, this=0x1434a10) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #25 doActivate<false>(QObject*, int, void**) (sender=0x14049b0, signal_index=5, argv=0x7ffddebe09f0) at kernel/qobject.cpp:3923 #26 0x0000000000456f37 in WaylandOutputOrder::outputOrderChanged(QStringList const&) (this=0x14049b0, _t1=...) at /home/nico/kde/build/plasma-workspace/shell/plasmashell_autogen/include/outputorderwatcher.moc:134 #27 0x0000000000459009 in WaylandOutputOrder::kde_output_order_v1_done() (this=0x14049b0) at /home/nico/kde/src/plasma-workspace/shell/outputorderwatcher.cpp:63 #28 0x00000000004b5d2d in QtWayland::kde_output_order_v1::handle_done(void*, kde_output_order_v1*) (data=0x14049c0, object=0x140c9b0) at /home/nico/kde/build/plasma-workspace/shell/qwayland-kde-output-order-v1.cpp:103 #29 0x00007f3fff8b46d6 in ffi_call_unix64 () at ../src/x86/unix64.S:105 #30 0x00007f3fff8b1492 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672 #31 0x00007f40013a0316 in wl_closure_invoke (closure=0x7f3fd8022bd0, flags=<optimized out>, target=<optimized out>, opcode=1, data=<optimized out>) at ../src/connection.c:1025 #32 0x00007f400139ca89 in dispatch_event (display=display@entry=0x1170780, queue=0x1170850) at ../src/wayland-client.c:1595 #33 0x00007f400139e284 in dispatch_queue (queue=0x1170850, display=0x1170780) at ../src/wayland-client.c:1741 #34 wl_display_dispatch_queue_pending (display=0x1170780, queue=0x1170850) at ../src/wayland-client.c:1983 --Type <RET> for more, q to quit, c to continue without paging-- #35 0x00007f3fffe67db2 in QtWaylandClient::QWaylandDisplay::flushRequests() (this=<optimized out>) at qwaylanddisplay.cpp:253 #36 0x00007f3ffe2dcb30 in QObject::event(QEvent*) (this=0x116bda0, e=0x7f3fe00063f0) at kernel/qobject.cpp:1347 #37 0x00007f3fff37c3ae in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x116bda0, e=0x7f3fe00063f0) at kernel/qapplication.cpp:3640 #38 0x00007f3ffe2b2838 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x116bda0, event=0x7f3fe00063f0) at kernel/qcoreapplication.cpp:1064 #39 0x00007f3ffe2b5511 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x1142480) at kernel/qcoreapplication.cpp:1821 #40 0x00007f3ffe307703 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x118f9e0) at kernel/qeventdispatcher_glib.cpp:277 #41 0x00007f3ffd31dcbf in g_main_dispatch (context=0x7f3fe8005010) at ../glib/gmain.c:3444 #42 g_main_context_dispatch (context=0x7f3fe8005010) at ../glib/gmain.c:4162 #43 0x00007f3ffd373598 in g_main_context_iterate.constprop.0 (context=0x7f3fe8005010, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4238 #44 0x00007f3ffd31af40 in g_main_context_iteration (context=0x7f3fe8005010, may_block=1) at ../glib/gmain.c:4303 #45 0x00007f3ffe306e26 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x1187010, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #46 0x00007f3ffe2b141b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffddebe1200, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #47 0x00007f3ffe2b8f22 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #48 0x0000000000432b23 in main(int, char**) (argc=2, argv=0x7ffddebe17f8) at /home/nico/kde/src/plasma-workspace/shell/main.cpp:235 Still happens, posting because Marco said it might have been fixed by a previous commit. Application: Plasma (plasmashell), signal: Aborted Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0} [KCrash Handler] #5 0x00007fbd8bca164c in () at /usr/lib/libc.so.6 #6 0x00007fbd8bc51938 in raise () at /usr/lib/libc.so.6 #7 0x00007fbd8bc3b53d in abort () at /usr/lib/libc.so.6 #8 0x00007fbd8c293caf in qt_message_fatal (message=<synthetic pointer>..., context=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914 #9 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffef8206df8, msg=msg@entry=0x7fbd8c599000 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893 #10 0x00007fbd8c293008 in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qglobal.cpp:3376 #11 0x000055b223810a0e in ScreenPool::screenInvariants() (this=0x55b22573e780) at /home/apol/devel/frameworks/plasma-workspace/shell/screenpool.cpp:320 #12 0x000055b22381066e in ScreenPool::handleOutputOrderChanged(QStringList const&) (this=0x55b22573e780, newOrder=...) at /home/apol/devel/frameworks/plasma-workspace/shell/screenpool.cpp:295 #13 0x000055b223814e04 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QStringList const&>, void, void (ScreenPool::*)(QStringList const&)>::call(void (ScreenPool::*)(QStringList const&), ScreenPool*, void**) (f=(void (ScreenPool::*)(ScreenPool * const, const QStringList &)) 0x55b2238102f8 <ScreenPool::handleOutputOrderChanged(QStringList const&)>, o=0x55b22573e780, arg=0x7ffef8207120) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152 #14 0x000055b2238149c9 in QtPrivate::FunctionPointer<void (ScreenPool::*)(QStringList const&)>::call<QtPrivate::List<QStringList const&>, void>(void (ScreenPool::*)(QStringList const&), ScreenPool*, void**) (f=(void (ScreenPool::*)(ScreenPool * const, const QStringList &)) 0x55b2238102f8 <ScreenPool::handleOutputOrderChanged(QStringList const&)>, o=0x55b22573e780, arg=0x7ffef8207120) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185 #15 0x000055b223814295 in QtPrivate::QSlotObject<void (ScreenPool::*)(QStringList const&), QtPrivate::List<QStringList const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55b22573c9a0, r=0x55b22573e780, a=0x7ffef8207120, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418 #16 0x00007fbd8c4ed99d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffef8207120, r=0x55b22573e780, this=0x55b22573c9a0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #17 doActivate<false>(QObject*, int, void**) (sender=0x55b225774c50, signal_index=3, argv=0x7ffef8207120) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3923 #18 0x000055b22379e7f8 in OutputOrderWatcher::outputOrderChanged(QStringList const&) (this=0x55b225774c50, _t1=...) at /home/apol/build-devel/frameworks/plasma-workspace/shell/plasmashell_autogen/EWIEGA46WW/moc_outputorderwatcher.cpp:133 #19 0x000055b2237d34e9 in operator()(QStringList const&) const (__closure=0x55b22572bbe0, order=...) at /home/apol/devel/frameworks/plasma-workspace/shell/outputorderwatcher.cpp:308 #20 0x000055b2237d51fc in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QStringList&>, void, WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)> >::call(struct {...} &, void **) (f=..., arg=0x7ffef82072f0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:146 #21 0x000055b2237d48cf in QtPrivate::Functor<WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)>, 1>::call<QtPrivate::List<QStringList const&>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffef82072f0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:256 #22 0x000055b2237d43f6 in QtPrivate::QFunctorSlotObject<WaylandOutputOrderWatcher::WaylandOutputOrderWatcher(QObject*)::<lambda(const QStringList&)>, 1, QtPrivate::List<const QStringList&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55b22572bbd0, r=0x55b225774c50, a=0x7ffef82072f0, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:443 #23 0x00007fbd8c4ed99d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffef82072f0, r=0x55b225774c50, this=0x55b22572bbd0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #24 doActivate<false>(QObject*, int, void**) (sender=0x55b225777b80, signal_index=5, argv=0x7ffef82072f0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3923 #25 0x000055b2237d3a82 in WaylandOutputOrder::outputOrderChanged(QStringList const&) (this=0x55b225777b80, _t1=...) at /home/apol/build-devel/frameworks/plasma-workspace/shell/plasmashell_autogen/include/outputorderwatcher.moc:134 #26 0x000055b2237d5e81 in WaylandOutputOrder::kde_output_order_v1_done() (this=0x55b225777b80) at /home/apol/devel/frameworks/plasma-workspace/shell/outputorderwatcher.cpp:63 #27 0x000055b22383a56b in QtWayland::kde_output_order_v1::handle_done(void*, kde_output_order_v1*) (data=0x55b225777b90, object=0x55b22573fe20) at /home/apol/build-devel/frameworks/plasma-workspace/shell/qwayland-kde-output-order-v1.cpp:103 #28 0x00007fbd8e68d4f6 in () at /usr/lib/libffi.so.8 #29 0x00007fbd8e689f5e in () at /usr/lib/libffi.so.8 #30 0x00007fbd8e68cb73 in ffi_call () at /usr/lib/libffi.so.8 #31 0x00007fbd8f775645 in () at /usr/lib/libwayland-client.so.0 #32 0x00007fbd8f775e03 in () at /usr/lib/libwayland-client.so.0 #33 0x00007fbd8f775ffc in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0 #34 0x00007fbd8e126912 in QtWaylandClient::QWaylandDisplay::flushRequests() (this=<optimized out>) at /home/apol/devel/frameworks/qt5/qtwayland/src/client/qwaylanddisplay.cpp:253 #35 0x00007fbd8c4e2230 in QObject::event(QEvent*) (this=0x55b22530db40, e=0x7fbd780050f0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1347 #36 0x00007fbd8d56801e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55b22530db40, e=0x7fbd780050f0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3640 #37 0x00007fbd8c4b60d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55b22530db40, event=0x7fbd780050f0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064 #38 0x00007fbd8c4b9071 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55b2252fe800) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1821 #39 0x00007fbd8c50ed53 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55b225327f80) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:277 #40 0x00007fbd8b52d87b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #41 0x00007fbd8b584c89 in () at /usr/lib/libglib-2.0.so.0 #42 0x00007fbd8b52c132 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #43 0x00007fbd8c50e436 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b2252d1c10, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423 #44 0x00007fbd8c4b4b4b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffef8207ba0, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69 #45 0x00007fbd8c4bccb6 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121 #46 0x000055b2237ace04 in main(int, char**) (argc=2, argv=0x7ffef8207e58) at /home/apol/devel/frameworks/plasma-workspace/shell/main.cpp:235 [Inferior 1 (process 849548) detached] What was the thing that fixed this? And what release is the fix in? See https://community.kde.org/index.php?title=Guidelines_and_HOWTOs/Bug_triaging#General_considerations *** Bug 480577 has been marked as a duplicate of this bug. *** Apparently not fixed as we just got a duplicate report with the same backtrace. Re-opening. *** Bug 480754 has been marked as a duplicate of this bug. *** Let's call it fixed until it's not fixed *** Bug 490746 has been marked as a duplicate of this bug. *** Apparently not fixed again. Bug 490746 has some technical data that may be useful for debugging this. A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4553 I don't think the MR above is right, the point of the assert is to ensure that the output order is fully in sync with QGuiApplication::screens . By special casing the assert, we're just going to hit weirder bugs later. *** Bug 491102 has been marked as a duplicate of this bug. *** possible relevant commit: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4642 This might have solved this, needs more testing The moentioned MR should fix this problem. if the problem persists after Plasma 6.2, please reopen this bug *** Bug 492420 has been marked as a duplicate of this bug. *** *** Bug 492730 has been marked as a duplicate of this bug. *** *** Bug 493130 has been marked as a duplicate of this bug. *** *** Bug 490746 has been marked as a duplicate of this bug. *** |