Bug 462014 - `qdbus org.kde.KWin /KWin supportInformation` crashes kwin_wayland in KWin::QuickSceneView::isDirty()
Summary: `qdbus org.kde.KWin /KWin supportInformation` crashes kwin_wayland in KWin::Q...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: git master
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2022-11-18 23:06 UTC by Nate Graham
Modified: 2022-11-19 13:10 UTC (History)
0 users

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 Nate Graham 2022-11-18 23:06:21 UTC
100% reproducible for me with today's git master. When I run `qdbus org.kde.KWin /KWin supportInformation`, kwin_wayland crashes with the following backtrace:

#0  KWin::QuickSceneView::isDirty() const (this=0x0)
    at /home/nate/kde/src/kwin/src/libkwineffects/kwinquickeffect.cpp:93
#1  0x00007fdf11f00d65 in KWin::QuickSceneEffect::prePaintScreen(KWin::ScreenPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) (this=<optimized out>, data=..., presentTime=...)
    at /usr/include/c++/12/bits/unique_ptr.h:191
#2  0x00007fdf11a16651 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) (this=0x2ec3f10, data=<optimized out>, presentTime=...)
    at /home/nate/kde/src/kwin/src/effects.cpp:385
#3  0x00007fdf11a93c42 in KWin::Scene::prePaint(KWin::Output*)
    (this=0x212aa00, output=<optimized out>) at /home/nate/kde/src/kwin/src/scene.cpp:291
#4  0x00007fdf119cb35f in KWin::Compositor::prePaintPass(KWin::RenderLayer*)
    (this=this@entry=0x239f330, layer=layer@entry=0x2ebdae0)
    at /home/nate/kde/src/kwin/src/composite.cpp:679
#5  0x00007fdf119ce1cf in KWin::Compositor::composite(KWin::RenderLoop*)
    (this=0x239f330, renderLoop=0x24917e0) at /home/nate/kde/src/kwin/src/composite.cpp:622
#6  0x00007fdf0fedb9a6 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc58584260, r=<optimized out>, this=0x2ed1fb0)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#7  doActivate<false>(QObject*, int, void**) (sender=0x24917e0, signal_index=5, argv=0x7ffc58584260)
    at kernel/qobject.cpp:3919
#8  0x00007fdf0fed6927 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
    (sender=<optimized out>, m=m@entry=0x7fdf11e54900 <KWin::RenderLoop::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffc58584260) at kernel/qobject.cpp:3979
#9  0x00007fdf1198ad82 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*)
    (this=<optimized out>, _t1=<optimized out>)
    at /home/nate/kde/build/kwin/src/kwin_autogen/TAC5DWH4SE/moc_renderloop.cpp:206
#10 0x00007fdf119d7623 in KWin::RenderLoopPrivate::dispatch() (this=0x21f73a0)
    at /home/nate/kde/src/kwin/src/core/renderloop.cpp:151
#11 0x00007fdf0fedb9a6 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc58584370, r=<optimized out>, this=0x2495080)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#12 doActivate<false>(QObject*, int, void**) (sender=0x21f73b8, signal_index=3, argv=0x7ffc58584370)
    at kernel/qobject.cpp:3919
#13 0x00007fdf0fed6927 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
    (sender=<optimized out>, m=m@entry=0x7fdf1016d5a0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc58584370) at kernel/qobject.cpp:3979
#14 0x00007fdf0feded2e in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...)
    at .moc/moc_qtimer.cpp:205
#15 0x00007fdf0fed2ad5 in QObject::event(QEvent*) (this=0x21f73b8, e=0x7ffc585844d0)
    at kernel/qobject.cpp:1369
#16 0x00007fdf0ebaed02 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    (this=<optimized out>, receiver=0x21f73b8, e=0x7ffc585844d0) at kernel/qapplication.cpp:3637
#17 0x00007fdf0fea81c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    (receiver=0x21f73b8, event=0x7ffc585844d0) at kernel/qcoreapplication.cpp:1064
#18 0x00007fdf0fef83b1 in QTimerInfoList::activateTimers() (this=this@entry=0x21188b8)
    at kernel/qtimerinfo_unix.cpp:643
#19 0x00007fdf0fef5b10 in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x2118830)
    at kernel/qeventdispatcher_unix.cpp:249
#20 0x00007fdf0fef6960 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:516
#21 0x0000000000531641 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#22 0x00007fdf0fea6c1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=this@entry=0x7ffc58584650, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#23 0x00007fdf0feaece2 in QCoreApplication::exec() ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#24 0x00007fdf1035fbe0 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1863
#25 0x00007fdf0ebaec79 in QApplication::exec() () at kernel/qapplication.cpp:2829
#26 0x0000000000446047 in main(int, char**) (argc=<optimized out>, argv=<optimized out>)
    at /home/nate/kde/src/kwin/src/main_wayland.cpp:627
Comment 1 Bug Janitor Service 2022-11-19 12:48:55 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/3216
Comment 2 Zamundaaa 2022-11-19 13:10:22 UTC
Git commit cf3b167d5039c38a62bb2ead58ce5e73b216cf3e by Xaver Hugl.
Committed on 19/11/2022 at 12:48.
Pushed by zamundaaa into branch 'master'.

effects/kwinquickeffect: ensure view map doesn't contain a nullptr view

M  +5    -2    src/libkwineffects/kwinquickeffect.cpp

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