Bug 458892 - Crash when the monitors go to sleep
Summary: Crash when the monitors go to sleep
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: platform-drm (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-08 20:34 UTC by Aleix Pol
Modified: 2022-09-10 04:01 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.26
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-09-08 20:34:18 UTC
It happens both when 2 montiors go to sleep, also 1. They're on Display Port, which I find gives more information about the display state than HDMI.

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f513d8a1543 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f513d851998 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007f513d83b53d in __GI_abort () at abort.c:79
#4  0x00007f513f693c8f 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=0x7ffe3ad85d18, msg=msg@entry=0x7f513f998000 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893
#6  0x00007f513f692fe8 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:3358
#7  0x00007f5141821d3e in QVector<KWin::Output*>::constFirst() const (this=0x7ffe3ad85fa8) at /home/apol/devel/kde5/include/QtCore/qvector.h:244
#8  0x00007f5141803067 in KWin::Workspace::updateOutputConfiguration() (this=0x5651d9539c60) at /home/apol/devel/frameworks/kwin/src/workspace.cpp:644
#9  0x00007f51417a9868 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)) 0x7f5141802f80 <KWin::Workspace::updateOutputConfiguration()>, o=0x5651d9539c60, arg=0x7ffe3ad86260)
    at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152
#10 0x00007f51417a97cd in QtPrivate::FunctionPointer<void (KWin::Workspace::*)()>::call<QtPrivate::List<>, void>(void (KWin::Workspace::*)(), KWin::Workspace*, void**) (f=(void (KWin::Workspace::*)(class KWin::Workspace * const)) 0x7f5141802f80 <KWin::Workspace::updateOutputConfiguration()>, o=0x5651d9539c60, arg=0x7ffe3ad86260)
    at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185
#11 0x00007f51417a9712 in QtPrivate::QSlotObject<void (KWin::Workspace::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5651d9aa4360, r=0x5651d9539c60, a=0x7ffe3ad86260, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418
#12 0x00007f513f8ecdbd in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe3ad86260, r=0x5651d9539c60, this=0x5651d9aa4360) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false>(QObject*, int, void**) (sender=0x5651d92f10f0, signal_index=3, argv=0x7ffe3ad86260) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886
#14 0x00007f51414d9b82 in KWin::Platform::screensQueried() (this=0x5651d92f10f0) at src/kwin_autogen/TAC5DWH4SE/moc_platform.cpp:175
#15 0x00007f514189d0e4 in KWin::DrmBackend::updateOutputs() (this=0x5651d92f10f0) at /home/apol/devel/frameworks/kwin/src/backends/drm/drm_backend.cpp:344
#16 0x00007f514189e3ff in KWin::DrmBackend::handleUdevEvent() (this=0x5651d92f10f0) at /home/apol/devel/frameworks/kwin/src/backends/drm/drm_backend.cpp:268
#17 0x00007f51418a5d78 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::DrmBackend::*)()>::call(void (KWin::DrmBackend::*)(), KWin::DrmBackend*, void**) (f=(void (KWin::DrmBackend::*)(class KWin::DrmBackend * const)) 0x7f514189ddc0 <KWin::DrmBackend::handleUdevEvent()>, o=0x5651d92f10f0, arg=0x7ffe3ad86720)
    at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152
#18 0x00007f51418a5cdd in QtPrivate::FunctionPointer<void (KWin::DrmBackend::*)()>::call<QtPrivate::List<>, void>(void (KWin::DrmBackend::*)(), KWin::DrmBackend*, void**) (f=(void (KWin::DrmBackend::*)(class KWin::DrmBackend * const)) 0x7f514189ddc0 <KWin::DrmBackend::handleUdevEvent()>, o=0x5651d92f10f0, arg=0x7ffe3ad86720)
    at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185
Comment 1 Bug Janitor Service 2022-09-08 20:48:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2920
Comment 2 Zamundaaa 2022-09-08 21:28:35 UTC
Git commit d659f4bfd764281559745c9da5d1edb9c8d193ce by Xaver Hugl.
Committed on 08/09/2022 at 20:46.
Pushed by zamundaaa into branch 'master'.

workspace: don't crash without outputs

M  +4    -0    src/workspace.cpp

https://invent.kde.org/plasma/kwin/commit/d659f4bfd764281559745c9da5d1edb9c8d193ce