Bug 462568 - Crash upon DPMS=off, after using Tiles
Summary: Crash upon DPMS=off, after using Tiles
Status: RESOLVED FIXED
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-12-02 23:43 UTC by Aleix Pol
Modified: 2022-12-03 15:07 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleix Pol 2022-12-02 23:43:16 UTC
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f9a57aa16b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f9a57a51958 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007f9a57a3b53d in __GI_abort () at abort.c:79
#4  0x00007f9a59693caf in qt_message_fatal (message=<synthetic pointer>..., context=<optimized out>)
    at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914
#5  QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffd58dc0428, msg=msg@entry=0x7f9a59999000 "ASSERT: \"%s\" in file %s, line %d")
    at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893
#6  0x00007f9a59693008 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:3366
#7  0x00007f9a5b8570cf in KWin::Workspace::tileManager(KWin::Output*) (this=0x55efa894fda0, output=0x55efa9d22b80)
    at /home/apol/devel/frameworks/kwin/src/workspace.cpp:3149
#8  0x00007f9a5b819f43 in KWin::Window::quickTileGeometry(QFlags<KWin::QuickTileFlag>, QPointF const&) const (this=0x55efa9cbd6c0, mode=..., pos=...)
    at /home/apol/devel/frameworks/kwin/src/window.cpp:3752
#9  0x00007f9a5b824f46 in KWin::Window::ensureSpecialStateGeometry(QRectF const&) (this=0x55efa9cbd6c0, geometry=...)
    at /home/apol/devel/frameworks/kwin/src/window.cpp:4005
#10 0x00007f9a5b8251f7 in KWin::Window::sendToOutput(KWin::Output*) (this=0x55efa9cbd6c0, newOutput=0x55efa9d22b80)
    at /home/apol/devel/frameworks/kwin/src/window.cpp:4037
#11 0x00007f9a5b6fd581 in KWin::PlacementTracker::restore(QString const&) (this=0x7f9a4c0177d0, key=...)
    at /home/apol/devel/frameworks/kwin/src/placementtracker.cpp:124
#12 0x00007f9a5b848a53 in KWin::Workspace::desktopResized() (this=0x55efa894fda0) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:2293
#13 0x00007f9a5b844f55 in KWin::Workspace::updateOutputs() (this=0x55efa894fda0) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:1453
#14 0x00007f9a5b840315 in KWin::Workspace::slotOutputBackendOutputsQueried() (this=0x55efa894fda0) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:1415
#15 0x00007f9a5b7e71d8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Workspace::*)()>::call(void (KWin::Workspace::*)(), KWin::Workspace*, void**)
    (f=(void (KWin::Workspace::*)(class KWin::Workspace * const)) 0x7f9a5b8402e0 <KWin::Workspace::slotOutputBackendOutputsQueried()>, o=0x55efa894fda0, arg=0x7ffd58dc0eb0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152
#16 0x00007f9a5b7e713d in QtPrivate::FunctionPointer<void (KWin::Workspace::*)()>::call<QtPrivate::List<>, void>(void (KWin::Workspace::*)(), KWin::Workspace*, void**)
    (f=(void (KWin::Workspace::*)(class KWin::Workspace * const)) 0x7f9a5b8402e0 <KWin::Workspace::slotOutputBackendOutputsQueried()>, o=0x55efa894fda0, arg=0x7ffd58dc0eb0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185
#17 0x00007f9a5b7e7082 in QtPrivate::QSlotObject<void (KWin::Workspace::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55efa8ad3dc0, r=0x55efa894fda0, a=0x7ffd58dc0eb0, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418
#18 0x00007f9a598ed98d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd58dc0eb0, r=0x55efa894fda0, this=0x55efa8ad3dc0)
    at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
#19 doActivate<false>(QObject*, int, void**) (sender=0x55efa840ee70, signal_index=3, argv=0x7ffd58dc0eb0)
    at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3919
#20 0x00007f9a5b4f97b2 in KWin::OutputBackend::outputsQueried() (this=0x55efa840ee70) at src/kwin_autogen/TAC5DWH4SE/moc_outputbackend.cpp:164
#21 0x00007f9a5b8dec10 in KWin::DrmBackend::updateOutputs() (this=0x55efa840ee70) at /home/apol/devel/frameworks/kwin/src/backends/drm/drm_backend.cpp:329
#22 0x00007f9a5b8e0189 in KWin::DrmBackend::handleUdevEvent() (this=0x55efa840ee70) at /home/apol/devel/frameworks/kwin/src/backends/drm/drm_backend.cpp:265
#23 0x00007f9a5b8e7618 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::DrmBackend::*)()>::call(void (KWin::DrmBackend::*)(), KWin::DrmBackend*, void**)
Comment 1 Bug Janitor Service 2022-12-03 00:33:30 UTC
Thank you for the bug report!

Please note that Plasma 5.25.5 is not supported for much longer by KDE; supported versions are 5.24, and 5.26 or newer.

If at all possible please upgrade to a supported version and verify that the bug is still happening there.

If you're unsure how to do this, contact your distributor about it.
Comment 2 Aleix Pol 2022-12-03 02:42:16 UTC
Ehm I'm obviously running master. :D
Comment 3 Zamundaaa 2022-12-03 14:14:51 UTC
https://invent.kde.org/plasma/kwin/-/merge_requests/3268 should fix it
Comment 4 Zamundaaa 2022-12-03 15:07:42 UTC
Git commit 6e6caa1021d24f76de9ac614a43f54fe7122c758 by Xaver Hugl.
Committed on 03/12/2022 at 14:42.
Pushed by zamundaaa into branch 'master'.

workspace: move desktopResized after adding new outputs

Otherwise it crashes because the tile manager on the added outputs don't
exist yet

M  +2    -2    src/workspace.cpp

https://invent.kde.org/plasma/kwin/commit/6e6caa1021d24f76de9ac614a43f54fe7122c758