https://bugs.kde.org/show_bug.cgi?id=448062

            Bug ID: 448062
           Summary: Crash in operator()<KWin::DrmObject*>
           Product: kwin
           Version: 5.23.4
          Platform: openSUSE RPMs
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: platform-drm
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

SUMMARY
KWin suddenly crashed. I obtained the provided backtrace.

STEPS TO REPRODUCE
1. I was using the computer normally. Multiple windows were open, and I was
moving the mouse around. I do not remember anything particularly special.
2. Maybe it is relevant that a system upgrade was running in a background
terminal, but at least the main part of the upgrade was already finished when
the crash happened judging by the logs.
3. I was unable to reproduce the crash.

OBSERVED RESULT
KWin crashed.

EXPECTED RESULT
KWin keeps running.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma:
(available in About System)
KDE Plasma Version: 5.23.4
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Backtrace:
#0  0x00007f5d41a7a9f8 in operator()<KWin::DrmObject*> (obj=0x6d00720064005f,
__closure=<synthetic pointer>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_pipeline.cpp:193
#1 
__gnu_cxx::__ops::_Iter_pred<KWin::DrmPipeline::populateAtomicValues(drmModeAtomicReq*,
uint32_t&)::<lambda(auto:24)> >::operator()<KWin::DrmObject* const*>
(__it=0x5590bcc4fd40, this=<synthetic pointer>) at
/usr/include/c++/11/bits/predefined_ops.h:318
#2  std::__find_if<KWin::DrmObject* const*,
__gnu_cxx::__ops::_Iter_pred<KWin::DrmPipeline::populateAtomicValues(drmModeAtomicReq*,
uint32_t&)::<lambda(auto:24)> > > (__pred=..., __last=0x5590bcc7a9a8,
__first=0x5590bcc4fd40) at /usr/include/c++/11/bits/stl_algobase.h:2081
#3  std::__find_if<KWin::DrmObject* const*,
__gnu_cxx::__ops::_Iter_pred<KWin::DrmPipeline::populateAtomicValues(drmModeAtomicReq*,
uint32_t&)::<lambda(auto:24)> > > (__pred=..., __last=0x5590bcc7a9a8,
__first=<optimized out>) at /usr/include/c++/11/bits/stl_algobase.h:2114
#4  std::find_if<KWin::DrmObject* const*,
KWin::DrmPipeline::populateAtomicValues(drmModeAtomicReq*,
uint32_t&)::<lambda(auto:24)> > (__pred=..., __last=0x5590bcc7a9a8,
__first=<optimized out>) at /usr/include/c++/11/bits/stl_algo.h:3910
#5  std::none_of<KWin::DrmObject* const*,
KWin::DrmPipeline::populateAtomicValues(drmModeAtomicReq*,
uint32_t&)::<lambda(auto:24)> > (__pred=..., __last=0x5590bcc7a9a8,
__first=<optimized out>) at /usr/include/c++/11/bits/stl_algo.h:471
#6  std::any_of<KWin::DrmObject* const*,
KWin::DrmPipeline::populateAtomicValues(drmModeAtomicReq*,
uint32_t&)::<lambda(auto:24)> > (__pred=..., __last=0x5590bcc7a9a8,
__first=<optimized out>) at /usr/include/c++/11/bits/stl_algo.h:490
#7  KWin::DrmPipeline::populateAtomicValues(_drmModeAtomicReq*, unsigned int&)
(flags=@0x7ffe1bc217b4: 1, req=0x5590bcd7b280, this=0x5590bc452950) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_pipeline.cpp:193
#8  KWin::DrmPipeline::commitPipelines(QVector<KWin::DrmPipeline*> const&,
KWin::DrmPipeline::CommitMode) (pipelines=...,
mode=mode@entry=KWin::DrmPipeline::CommitMode::Commit) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_pipeline.cpp:150
#9  0x00007f5d41a7b5d4 in KWin::DrmPipeline::atomicCommit()
(this=0x5590bc452950) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_pipeline.cpp:117
#10 0x00007f5d41a70a95 in
KWin::DrmPipeline::present(QSharedPointer<KWin::DrmBuffer> const&) (buffer=...,
this=<optimized out>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_pipeline.cpp:97
#11 KWin::DrmOutput::present(QSharedPointer<KWin::DrmBuffer> const&, QRegion)
(damagedRegion=..., buffer=..., this=<optimized out>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_output.cpp:398
#12 KWin::DrmOutput::present(QSharedPointer<KWin::DrmBuffer> const&, QRegion)
(this=this@entry=0x5590bb8d9c40, buffer=..., damagedRegion=...) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/drm_output.cpp:389
#13 0x00007f5d41a7c97f in KWin::EglGbmBackend::endFrame(KWin::AbstractOutput*,
QRegion const&, QRegion const&) (this=<optimized out>, drmOutput=<optimized
out>, renderedRegion=<optimized out>, damagedRegion=<optimized out>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/platforms/drm/egl_gbm_backend.cpp:584
#14 0x00007f5d4057f660 in KWin::SceneOpenGL::paint(KWin::AbstractOutput*,
QRegion const&, QList<KWin::Toplevel*> const&, KWin::RenderLoop*)
(renderLoop=<optimized out>, toplevels=<optimized out>, damage=<optimized out>,
output=0x5590bb8d9c40, this=0x5590bba9f180) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/scenes/opengl/scene_opengl.cpp:462
#15 KWin::SceneOpenGL::paint(KWin::AbstractOutput*, QRegion const&,
QList<KWin::Toplevel*> const&, KWin::RenderLoop*) (this=0x5590bba9f180,
output=0x5590bb8d9c40, damage=<optimized out>, toplevels=<optimized out>,
renderLoop=<optimized out>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/plugins/scenes/opengl/scene_opengl.cpp:361
#16 0x00007f5d49d1dd71 in KWin::Compositor::composite(KWin::RenderLoop*)
(this=0x5590bb9a2400, renderLoop=0x5590bb9eaac0) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/composite.cpp:623
#17 0x00007f5d484fc393 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffe1bc21d60, r=0x5590bb9a2400, this=0x5590bc1b4ee0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#18 doActivate<false>(QObject*, int, void**) (sender=0x5590bb9eaac0,
signal_index=5, argv=0x7ffe1bc21d60) at kernel/qobject.cpp:3886
#19 0x00007f5d484f585f in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=<optimized out>, m=m@entry=0x7f5d49f47560
<KWin::RenderLoop::staticMetaObject>,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffe1bc21d60)
at kernel/qobject.cpp:3946
#20 0x00007f5d49cdb502 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*)
(this=<optimized out>, _t1=<optimized out>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/build/src/kwin_autogen/EWIEGA46WW/moc_renderloop.cpp:206
#21 0x00007f5d49daeae3 in KWin::RenderLoopPrivate::dispatch()
(this=0x5590bc006940) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/renderloop.cpp:148
#22 0x00007f5d484fc393 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffe1bc21e80, r=0x5590bb9eaac0, this=0x5590bc009340) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#23 doActivate<false>(QObject*, int, void**) (sender=0x5590bc006958,
signal_index=3, argv=0x7ffe1bc21e80) at kernel/qobject.cpp:3886
#24 0x00007f5d484f585f in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=<optimized out>, m=m@entry=0x7f5d4879bc00,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe1bc21e80)
at kernel/qobject.cpp:3946
#25 0x00007f5d4850024a in QTimer::timeout(QTimer::QPrivateSignal)
(this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#26 0x00007f5d484f225f in QObject::event(QEvent*) (this=0x5590bc006958,
e=0x7ffe1bc22000) at kernel/qobject.cpp:1336
#27 0x00007f5d49220a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x5590bc006958, e=0x7ffe1bc22000) at
kernel/qapplication.cpp:3632
#28 0x00007f5d484c5d2a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x5590bc006958, event=0x7ffe1bc22000) at
kernel/qcoreapplication.cpp:1064
#29 0x00007f5d4851c5ab in QTimerInfoList::activateTimers()
(this=this@entry=0x5590bb7dbd18) at kernel/qtimerinfo_unix.cpp:643
#30 0x00007f5d48519d6c in QEventDispatcherUNIXPrivate::activateTimers()
(this=this@entry=0x5590bb7dbc90) at kernel/qeventdispatcher_unix.cpp:249
#31 0x00007f5d4851aab7 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:516
#32 0x00005590baf974cd in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63
#33 0x00007f5d484c472b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffe1bc221a0, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#34 0x00007f5d484cca10 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#35 0x00007f5d4891819c in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1867
#36 0x00007f5d492209f5 in QApplication::exec() () at
kernel/qapplication.cpp:2824
#37 0x00005590baf3a60a in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/kwin5-5.23.4-1.3.x86_64/src/main_wayland.cpp:745

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to