SUMMARY Using git master, I can't login to a Plasma6 Wayland session. STEPS TO REPRODUCE 1. Login to Plasma Wayland (Dev) 2. 3. OBSERVED RESULT Stay at sddm EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: kwin at 361e2c3eba39c7c31b0b4f10fbe688407b1a349a KDE Frameworks Version: Qt Version: 6.5.2 ADDITIONAL INFORMATION (gdb) bt #0 0x00007fb6de48e83c in () at /usr/lib/libc.so.6 #1 0x00007fb6de43e668 in raise () at /usr/lib/libc.so.6 #2 0x00007fb6de4264b8 in abort () at /usr/lib/libc.so.6 #3 0x00007fb6deca80da in qt_assert(char const*, char const*, int) () at /usr/lib/libQt6Core.so.6 #4 0x00007fb6deca8137 in qt_assert_x(char const*, char const*, char const*, int) () at /usr/lib/libQt6Core.so.6 #5 0x00007fb6e23e4abd in KWin::RenderLoopPrivate::notifyFrameCompleted(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) (this=0x561444f90870, timestamp=std::chrono::duration = { 45028124260219ns }) at /home/qydw/kde/src/kwin/src/core/renderloop.cpp:132 #6 0x00007fb6e27f8e72 in KWin::DrmAbstractOutput::pageFlipped(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) const (this=0x561444d0edf0, timestamp=std::chrono::duration = { 45028124260219ns }) at /home/qydw/kde/src/kwin/src/backends/drm/drm_abstract_output.cpp:36 #7 0x00007fb6e286cd3d in KWin::DrmPipeline::pageFlipped(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) (this=0x561444b2a700, timestamp=std::chrono::duration = { 45028124260219ns }) at /home/qydw/kde/src/kwin/src/backends/drm/drm_pipeline.cpp:426 #8 0x00007fb6e280955e in KWin::DrmLegacyCommit::pageFlipped(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) const (this=0x561444f8ea70, timestamp=std::chrono::duration = { 45028124260219ns }) at /home/qydw/kde/src/kwin/src/backends/drm/drm_commit.cpp:145 #9 0x00007fb6e280942b in KWin::DrmLegacyCommit::doModeset(KWin::DrmConnector*, KWin::DrmConnectorMode*) (this=0x561444f8ea70, connector=0x561444f77450, mode=0x561444f6fa10) at /home/qydw/kde/src/kwin/src/backends/drm/drm_commit.cpp:129 #10 0x00007fb6e2873cfe in KWin::DrmPipeline::legacyModeset() (this=0x561444b2a700) at /home/qydw/kde/src/kwin/src/backends/drm/drm_pipeline_legacy.cpp:61 #11 0x00007fb6e2874432 in KWin::DrmPipeline::applyPendingChangesLegacy() (this=0x561444b2a700) at /home/qydw/kde/src/kwin/src/backends/drm/drm_pipeline_legacy.cpp:121 #12 0x00007fb6e2873e67 in KWin::DrmPipeline::commitPipelinesLegacy(QList<KWin::DrmPipeline*> const&, KWin::DrmPipeline::CommitMode) (pipelines=..., mode=KWin::DrmPipeline::CommitMode::TestAllowModeset) at /home/qydw/kde/src/kwin/src/backends/drm/drm_pipeline_legacy.cpp:72 #13 0x00007fb6e286af6c in KWin::DrmPipeline::commitPipelines(QList<KWin::DrmPipeline*> const&, KWin::DrmPipeline::CommitMode, QList<KWin::DrmObject*> const&) (pipelines=..., mode=KWin::DrmPipeline::CommitMode::TestAllowModeset, unusedObjects=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_pipeline.cpp:104 #14 0x00007fb6e2843e5c in KWin::DrmGpu::testPipelines() (this=0x561444ba1dc0) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:463 #15 0x00007fb6e28436a5 in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:382 #16 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #17 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #18 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #19 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #20 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #21 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #22 0x00007fb6e284375b in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:389 #23 0x00007fb6e2843a1a in KWin::DrmGpu::checkCrtcAssignment(QList<KWin::DrmConnector*>, QList<KWin::DrmCrtc*> const&) (this=0x561444ba1dc0, connectors=..., crtcs=...) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:417 #24 0x00007fb6e2843d62 in KWin::DrmGpu::testPendingConfiguration() (this=0x561444ba1dc0) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:454 #25 0x00007fb6e2842d63 in KWin::DrmGpu::updateOutputs() (this=0x561444ba1dc0) at /home/qydw/kde/src/kwin/src/backends/drm/drm_gpu.cpp:320 #26 0x00007fb6e27face3 in KWin::DrmBackend::updateOutputs() (this=0x561444b91980) at /home/qydw/kde/src/kwin/src/backends/drm/drm_backend.cpp:273 #27 0x00007fb6e27fb159 in KWin::DrmBackend::sceneInitialized() (this=0x561444b91980) at /home/qydw/kde/src/kwin/src/backends/drm/drm_backend.cpp:310 #28 0x0000561443c61171 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::OutputBackend::*)()>::call(void (KWin::OutputBackend::*)(), KWin::OutputBackend*, void**) (f=&virtual table offset 200, o=0x561444b91980, arg=0x7ffe2699ced8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:135 #29 0x0000561443c6090c in QtPrivate::FunctionPointer<void (KWin::OutputBackend::*)()>::call<QtPrivate::List<>, void>(void (KWin::OutputBackend::*)(), KWin::OutputBackend*, void**) (f=&virtual table offset 200, o=0x561444b91980, arg=0x7ffe2699ced8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:172 #30 0x0000561443c5fb69 in QtPrivate::QSlotObject<void (KWin::OutputBackend::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x561444d30540, r=0x561444b91980, a=0x7ffe2699ced8, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:384 #31 0x00007fb6ded9134a in () at /usr/lib/libQt6Core.so.6 #32 0x00007fb6e23acac1 in KWin::Compositor::sceneCreated() (this=0x561444d1dc80) at /home/qydw/kde/build/kwin/src/kwin_autogen/include/moc_composite.cpp:263 #33 0x00007fb6e23a785d in KWin::Compositor::setupStart() (this=0x561444d1dc80) at /home/qydw/kde/src/kwin/src/composite.cpp:324 #34 0x00007fb6e23aa2ec in KWin::WaylandCompositor::start() (this=0x561444d1dc80) at /home/qydw/kde/src/kwin/src/composite.cpp:770 #35 0x00007fb6e23bd619 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Compositor::*)()>::call(void (KWin::Compositor::*)(), KWin::Compositor*, void**) (f=&virtual KWin::Compositor::start(), o=0x561444d1dc80, arg=0x561444d2d228) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:135 #36 0x00007fb6e23ba81d in QtPrivate::FunctionPointer<void (KWin::Compositor::*)()>::call<QtPrivate::List<>, void>(void (KWin::Compositor::*)(), KWin::Compositor*, void**) (f=&virtual KWin::Compositor::start(), o=0x561444d1dc80, arg=0x561444d2d228) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:172 #37 0x00007fb6e23b74c5 in QtPrivate::QSlotObject<void (KWin::Compositor::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x561444d2d1b0, r=0x561444d1dc80, a=0x561444d2d228, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:384 #38 0x00007fb6ded7d147 in QObject::event(QEvent*) () at /usr/lib/libQt6Core.so.6 #39 0x00007fb6dfd7136b in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6 #40 0x00007fb6ded3b718 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6 #41 0x00007fb6ded3ba9b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt6Core.so.6 #42 0x00007fb6dee6f9af in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6 #43 0x00007fb6df7d9052 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Gui.so.6 #44 0x00007fb6ded45623 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6 #45 0x00007fb6ded3f1f8 in QCoreApplication::exec() () at /usr/lib/libQt6Core.so.6 #46 0x0000561443c5cc0c in main(int, char**) (argc=14, argv=0x7ffe2699dbc8) at /home/qydw/kde/src/kwin/src/main_wayland.cpp:613
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4357
Git commit a800b54a13d3872b37b5f2ddd3cd381d4f183a30 by Xaver Hugl. Committed on 23/08/2023 at 14:15. Pushed by zamundaaa into branch 'master'. backends/drm: fix legacy modesets There's no pending frame on modesets with legacy, so calling pageFlipped crashes KWin M +1 -1 src/backends/drm/drm_commit.cpp https://invent.kde.org/plasma/kwin/-/commit/a800b54a13d3872b37b5f2ddd3cd381d4f183a30