Bug 437761

Summary: Crash when changing window decorations
Product: [Plasma] kwin Reporter: Aleix Pol <aleixpol>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: nate
Priority: NOR Keywords: regression
Version: git master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.23
Sentry Crash Report:

Description Aleix Pol 2021-05-28 02:32:45 UTC
As soon as I change it, it crashes.

#0  0x00007fb5fead6d22 in raise () at /usr/lib/libc.so.6
#1  0x00007fb5feac090e in abort () at /usr/lib/libc.so.6
#2  0x00007fb5ff3fcc51 in qt_message_fatal (message=<synthetic pointer>..., context=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914
#3  QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffd01cd1b58, msg=msg@entry=0x7fb5ff6faea0 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893
#4  0x00007fb5ff3fc04a 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
#5  0x00007fb5f943a218 in KWin::EglMultiBackend::directScanoutAllowed(int) const (this=0x55ddea8496b0, screenId=1) at /home/apol/devel/frameworks/kwin/src/plugins/platforms/drm/egl_multi_backend.cpp:132
#6  0x00007fb5f82163ba in KWin::SceneOpenGL::paint(int, QRegion const&, QList<KWin::Toplevel*> const&, KWin::RenderLoop*) (this=0x55ddea8ce360, screenId=1, damage=..., toplevels=..., renderLoop=0x55ddea713410) at /home/apol/devel/frameworks/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:681
#7  0x00007fb60263af8b in KWin::Compositor::composite(KWin::RenderLoop*) (this=0x55dde9e35e30, renderLoop=0x55ddea713410) at /home/apol/devel/frameworks/kwin/src/composite.cpp:628
#8  0x00007fb60263a6b4 in KWin::Compositor::handleFrameRequested(KWin::RenderLoop*) (this=0x55dde9e35e30, renderLoop=0x55ddea713410) at /home/apol/devel/frameworks/kwin/src/composite.cpp:589
#9  0x00007fb60264429c in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KWin::RenderLoop*>, void, void (KWin::Compositor::*)(KWin::RenderLoop*)>::call(void (KWin::Compositor::*)(KWin::RenderLoop*), KWin::Compositor*, void**) (f=
    (void (KWin::Compositor::*)(KWin::Compositor * const, KWin::RenderLoop *)) 0x7fb60263a690 <KWin::Compositor::handleFrameRequested(KWin::RenderLoop*)>, o=0x55dde9e35e30, arg=0x7ffd01cd21a0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152
#10 0x00007fb6026441f8 in QtPrivate::FunctionPointer<void (KWin::Compositor::*)(KWin::RenderLoop*)>::call<QtPrivate::List<KWin::RenderLoop*>, void>(void (KWin::Compositor::*)(KWin::RenderLoop*), KWin::Compositor*, void**) (f=
    (void (KWin::Compositor::*)(KWin::Compositor * const, KWin::RenderLoop *)) 0x7fb60263a690 <KWin::Compositor::handleFrameRequested(KWin::RenderLoop*)>, o=0x55dde9e35e30, arg=0x7ffd01cd21a0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185
#11 0x00007fb602644125 in QtPrivate::QSlotObject<void (KWin::Compositor::*)(KWin::RenderLoop*), QtPrivate::List<KWin::RenderLoop*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55dde9f887a0, r=0x55dde9e35e30, a=0x7ffd01cd21a0, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418
#12 0x00007fb5ff6503d6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd01cd21a0, r=0x55dde9e35e30, this=0x55dde9f887a0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false>(QObject*, int, void**) (sender=0x55ddea713410, signal_index=5, argv=0x7ffd01cd21a0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886
#14 0x00007fb6025c3ef6 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (this=0x55ddea713410, _t1=0x55ddea713410) at src/kwin_autogen/EWIEGA46WW/moc_renderloop.cpp:206
#15 0x00007fb60279c373 in KWin::RenderLoopPrivate::dispatch() (this=0x55ddea712340) at /home/apol/devel/frameworks/kwin/src/renderloop.cpp:162
#16 0x00007fb60279cb58 in KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0::operator()() const (this=0x55ddea71e1d0) at /home/apol/devel/frameworks/kwin/src/renderloop.cpp:31
#17 0x00007fb60279cb06 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0>::call(KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0&, void**) (f=..., arg=0x7ffd01cd23b0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:146
#18 0x00007fb60279cad1 in QtPrivate::Functor<KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0, 0>::call<QtPrivate::List<>, void>(KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0&, void*, void**) (f=..., arg=0x7ffd01cd23b0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:256
#19 0x00007fb60279ca7c in QtPrivate::QFunctorSlotObject<KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55ddea71e1c0, r=0x55ddea713410, a=0x7ffd01cd23b0, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:443
#20 0x00007fb5ff6503d6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd01cd23b0, r=0x55ddea713410, this=0x55ddea71e1c0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
#21 doActivate<false>(QObject*, int, void**) (sender=0x55ddea712358, signal_index=3, argv=argv@entry=0x7ffd01cd23b0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886
#22 0x00007fb5ff649730 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fb5ff8ea280 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd01cd23b0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3946
#23 0x00007fb5ff6542fa in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#24 0x00007fb5ff645d5f in QObject::event(QEvent*) (this=0x55ddea712358, e=0x7ffd01cd2520) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1336
#25 0x00007fb60046017f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55ddea712358, e=0x7ffd01cd2520) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3632
#26 0x00007fb5ff619dfa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55ddea712358, event=0x7ffd01cd2520) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064
#27 0x00007fb5ff6705a3 in QTimerInfoList::activateTimers() (this=this@entry=0x55dde9d71848) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:643
#28 0x00007fb5ff66dcdc in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x55dde9d717c0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:249
#29 0x00007fb5ff66ea37 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:516
#30 0x000055dde93c932d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qunixeventdispatcher.cpp:63
#31 0x00007fb5ff6187ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd01cd26c0, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69
#32 0x00007fb5ff620a30 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121
#33 0x000055dde9397c20 in main(int, char**) (argc=5, argv=0x7ffd01cd31e8) at /home/apol/devel/frameworks/kwin/src/main_wayland.cpp:719
(gdb) frame 5
#5  0x00007fb5f943a218 in KWin::EglMultiBackend::directScanoutAllowed (this=0x55ddea8496b0, screenId=1) at /home/apol/devel/frameworks/kwin/src/plugins/platforms/drm/egl_multi_backend.cpp:132
132         Q_ASSERT(backend != nullptr);
(gdb) p backend
$1 = (KWin::AbstractEglBackend *) 0x0
Comment 1 Bug Janitor Service 2021-05-31 11:35:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1056
Comment 2 Zamundaaa 2021-05-31 11:46:59 UTC
Git commit 7bf79090cfbefa659452ac6797fa2e43e3b18c54 by Xaver Hugl.
Committed on 31/05/2021 at 11:15.
Pushed by zamundaaa into branch 'master'.

platforms/drm: add outputs on EglGbmBackend initialisation

M  +7    -1    src/plugins/platforms/drm/egl_gbm_backend.cpp

https://invent.kde.org/plasma/kwin/commit/7bf79090cfbefa659452ac6797fa2e43e3b18c54