Bug 498878 - kscreen_osd_service crashed in KScreen::WaylandOutputDevice::enabled with 2nd (HDMI) screen plugged in
Summary: kscreen_osd_service crashed in KScreen::WaylandOutputDevice::enabled with 2nd...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: multi-screen (show other bugs)
Version: 6.2.5
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2025-01-19 09:53 UTC by postix
Modified: 2025-01-22 18:56 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 6.3.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description postix 2025-01-19 09:53:04 UTC
SUMMARY

I've plugged in an HDMI screen into my laptop. I am not sure if I have interacted with the OSD, but in the end it has crashed.

```
#0  0x00007fc5bc05e0eb in KScreen::WaylandOutputDevice::enabled (this=0x0)
    at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandoutputdevice.cpp:488
#1  KScreen::WaylandOutputDevice::setWlConfig (this=0x0, wlConfig=0x55b1bd7d1930, output=...)
    at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandoutputdevice.cpp:227
#2  KScreen::WaylandConfig::applyConfig (this=0x55b1bd46b630, newConfig=...)
    at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandconfig.cpp:362
#3  0x00007fc5bc0650e8 in KScreen::WaylandBackend::setConfig (this=0x55b1bd494f00, newconfig=...)
    at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandbackend.cpp:62
#4  0x00007fc5d941126a in KScreen::SetConfigOperation::start (this=0x55b1bda8bf20)
    at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/src/setconfigoperation.cpp:117
#5  0x00007fc5d734cd32 in QObject::event (this=0x55b1bda8bf20, e=0x55b1bda8c090)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qobject.cpp:1419
#6  0x00007fc5d72f33f8 in QCoreApplication::notifyInternal2 (receiver=0x55b1bda8bf20, event=0x55b1bda8c090)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1168
#7  0x00007fc5d72f364d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1612
#8  0x00007fc5d72f7125 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, 
    data=0x55b1bd08abe0)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1968
#9  0x00007fc5d72f852d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, 
    event_type=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1800
#10 0x00007fc5d75edadf in postEventSourceDispatch (s=0x55b1bd13eaf0)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#11 0x00007fc5d65ec28c in g_main_dispatch (context=0x7fc5cc000f30) at ../glib/gmain.c:3357
#12 g_main_context_dispatch_unlocked (context=0x7fc5cc000f30) at ../glib/gmain.c:4208
#13 0x00007fc5d664c7b8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fc5cc000f30, 
--Type <RET> for more, q to quit, c to continue without paging--c
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#14 0x00007fc5d65ed783 in g_main_context_iteration (context=0x7fc5cc000f30, may_block=1)
    at ../glib/gmain.c:4338
#15 0x00007fc5d75ed233 in QEventDispatcherGlib::processEvents (this=0x55b1bd092260, flags=...)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#16 0x00007fc5d7301c7b in QEventLoop::exec (this=this@entry=0x7ffd41d2a660, flags=..., flags@entry=...)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/global/qflags.h:34
#17 0x00007fc5d72fd3fe in QCoreApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/global/qflags.h:74
#18 0x00007fc5d7ad6bfd in QGuiApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1975
#19 0x000055b1b4583429 in main (argc=<optimized out>, argv=0x7ffd41d2a858)
    at /usr/src/debug/kscreen-6.2.5-1.fc41.x86_64/osd/main.cpp:19
```


SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 41
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.10.0
Qt Version: 6.8.1
Kernel Version: 6.12.9-200.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Comment 1 postix 2025-01-19 09:54:30 UTC
bt full:

```
#1  KScreen::WaylandOutputDevice::setWlConfig (this=0x0, wlConfig=0x55b1bd7d1930, output=...)
    at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandoutputdevice.cpp:227
        changed = false
        mode = {value = 0x55b1bd44b120, d = 0x55b1bd44bb40}
        version = <optimized out>
        changed = <optimized out>
        mode = <optimized out>
        version = <optimized out>
#2  KScreen::WaylandConfig::applyConfig (this=0x55b1bd46b630, newConfig=...) at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandconfig.cpp:362
        output = @0x55b1bdb20758: {value = 0x55b1bdb1c010, d = 0x55b1bda8be80}
        __for_range = @0x7ffd41d29f28: {d = {d = 0x55b1bdb1a630}}
        __for_begin = <optimized out>
        __for_end = <optimized out>
        wlConfig = 0x55b1bd7d1930
        changed = true
#3  0x00007fc5bc0650e8 in KScreen::WaylandBackend::setConfig (this=0x55b1bd494f00, newconfig=...) at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/backends/kwayland/waylandbackend.cpp:62
        loop = {<QObject> = {_vptr.QObject = 0x7fc5d787adc8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, 
                stringdata = 0x7fc5d76fa960 <qt_meta_stringdata_ZN7QObjectE>, data = 0x7fc5d76fa840 <qt_meta_data_ZN7QObjectE>, 
                static_metacall = 0x7fc5d7358620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                metaTypes = 0x7fc5d787c8c0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x55b1bdb39320}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7fc5d7876ae0 <QObject::staticMetaObject>}, stringdata = 0x7fc5d76f7ee0 <qt_meta_stringdata_ZN10QEventLoopE>, 
              data = 0x7fc5d76f7de0 <qt_meta_data_ZN10QEventLoopE>, static_metacall = 0x7fc5d7301430 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
              relatedMetaObjects = 0x0, 
              metaTypes = 0x7fc5d787ace0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN10QEventLoopE_t, QtPrivate::TypeAndForceComplete<QFlags<QEventLoop::ProcessEventsFlag>, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QEventLoop, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}}
#4  0x00007fc5d941126a in KScreen::SetConfigOperation::start (this=0x55b1bda8bf20) at /usr/src/debug/libkscreen-6.2.5-1.fc41.x86_64/src/setconfigoperation.cpp:117
        backend = <optimized out>
        d = 0x55b1bda8bf40
#5  0x00007fc5d734cd32 in QObject::event (this=0x55b1bda8bf20, e=0x55b1bda8c090) at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qobject.cpp:1419
        mce = 0x55b1bda8c090
        connections = <optimized out>
        sender = {previous = 0x0, receiver = 0x55b1bda8bf20, sender = 0x0, signal = -1}
#6  0x00007fc5d72f33f8 in QCoreApplication::notifyInternal2 (receiver=0x55b1bda8bf20, event=0x55b1bda8c090)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1168
        selfRequired = <optimized out>
        result = false
        cbdata = {0x55b1bda8bf20, 0x55b1bda8c090, 0x7ffd41d2a217}
        d = <optimized out>
        threadData = <optimized out>
        scopeLevelCounter = {threadData = 0x55b1bd08abe0}
#7  0x00007fc5d72f364d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1612
No locals.
#8  0x00007fc5d72f7125 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55b1bd08abe0)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1968
        e = <optimized out>
        pe = <optimized out>
        r = <optimized out>
        relocker = <optimized out>
        event_deleter = <optimized out>
        locker = {_M_device = 0x55b1bd08ac38, _M_owns = false}
        startOffset = 0
        i = @0x55b1bd08ac28: 1
        cleanup = <optimized out>
#9  0x00007fc5d72f852d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1800
        data = <optimized out>
#10 0x00007fc5d75edadf in postEventSourceDispatch (s=0x55b1bd13eaf0) at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
        source = 0x55b1bd13eaf0
#11 0x00007fc5d65ec28c in g_main_dispatch (context=0x7fc5cc000f30) at ../glib/gmain.c:3357
        dispatch = 0x7fc5d75edac0 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 12010188873570
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x55b1bd13eaf0
        current = 0x55b1bd5357a0
        i = 0
        __func__ = <optimized out>
#12 g_main_context_dispatch_unlocked (context=0x7fc5cc000f30) at ../glib/gmain.c:4208
No locals.
#13 0x00007fc5d664c7b8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fc5cc000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4273
        max_priority = 0
        timeout_usec = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x55b1bd526510
        begin_time_nsec = 12010188865143
#14 0x00007fc5d65ed783 in g_main_context_iteration (context=0x7fc5cc000f30, may_block=1) at ../glib/gmain.c:4338
        retval = <optimized out>
#15 0x00007fc5d75ed233 in QEventDispatcherGlib::processEvents (this=0x55b1bd092260, flags=...)
    at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
        d = 0x55b1bd098e30
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#16 0x00007fc5d7301c7b in QEventLoop::exec (this=this@entry=0x7ffd41d2a660, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/global/qflags.h:34
        d = 0x55b1bd493f90
        threadData = <optimized out>
        locker = {m_mutex = 0x55b1bd08ad18, m_isLocked = false}
        ref = {d = 0x55b1bd493f90, locker = @0x7ffd41d2a5a0, exceptionCaught = true}
        app = 0x7ffd41d2a6d0
#17 0x00007fc5d72fd3fe in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/corelib/global/qflags.h:74
        threadData = 0x55b1bd08abe0
        eventLoop = {<QObject> = {_vptr.QObject = 0x7fc5d787adc8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, 
                stringdata = 0x7fc5d76fa960 <qt_meta_stringdata_ZN7QObjectE>, data = 0x7fc5d76fa840 <qt_meta_data_ZN7QObjectE>, 
                static_metacall = 0x7fc5d7358620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                metaTypes = 0x7fc5d787c8c0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x55b1bd493f90}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7fc5d7876ae0 <QObject::staticMetaObject>}, stringdata = 0x7fc5d76f7ee0 <qt_meta_stringdata_ZN10QEventLoopE>, 
              data = 0x7fc5d76f7de0 <qt_meta_data_ZN10QEventLoopE>, static_metacall = 0x7fc5d7301430 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
              relatedMetaObjects = 0x0, 
              metaTypes = 0x7fc5d787ace0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN10QEventLoopE_t, QtPrivate::TypeAndForceComplete<QFlags<QEventLoop::ProcessEventsFlag>, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QEventLoop, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}}
        returnCode = <optimized out>
#18 0x00007fc5d7ad6bfd in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.1-10.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1975
No locals.
#19 0x000055b1b4583429 in main (argc=<optimized out>, argv=0x7ffd41d2a858) at /usr/src/debug/kscreen-6.2.5-1.fc41.x86_64/osd/main.cpp:19
        osdManager = {<QObject> = {_vptr.QObject = 0x55b1b4594828 <vtable for KScreen::OsdManager+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, 
                stringdata = 0x7fc5d76fa960 <qt_meta_stringdata_ZN7QObjectE>, data = 0x7fc5d76fa840 <qt_meta_data_ZN7QObjectE>, 
                static_metacall = 0x7fc5d7358620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                metaTypes = 0x7fc5d787c8c0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x55b1bd061df0}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7fc5d7876ae0 <QObject::staticMetaObject>}, stringdata = 0x55b1b4592b60 <qt_meta_stringdata_ZN7KScreen10OsdManagerE>, 
              data = 0x55b1b4591520 <qt_meta_data_ZN7KScreen10OsdManagerE>, 
              static_metacall = 0x55b1b4587d30 <KScreen::OsdManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
              metaTypes = 0x55b1b45942e0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN7KScreen10OsdManagerE_t, QtPrivate::TypeAndForceComplete<KScreen::OsdManager, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}, m_osds = {d = {d = 0x55b1bd4bced0}}, m_cleanupTimer = 0x55b1bd08ade0}
        app = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7fc5d83a1ad8 <vtable for QGuiApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, 
                  stringdata = 0x7fc5d76fa960 <qt_meta_stringdata_ZN7QObjectE>, data = 0x7fc5d76fa840 <qt_meta_data_ZN7QObjectE>, 
                  static_metacall = 0x7fc5d7358620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                  metaTypes = 0x7fc5d787c8c0 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x55b1bd091110}}, static staticMetaObject = {d = {superdata = {
                  direct = 0x7fc5d7876ae0 <QObject::staticMetaObject>}, stringdata = 0x7fc5d76f64c0 <qt_meta_stringdata_ZN16QCoreApplicationE>, 
                data = 0x7fc5d76f6320 <qt_meta_data_ZN16QCoreApplicationE>, 
                static_metacall = 0x7fc5d72f56a0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                metaTypes = 0x7fc5d787a940 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN16QCoreApplicationE_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<bool, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QCoreApplication, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, 
                extradata = 0x0}}, static self = 0x7ffd41d2a6d0}, static staticMetaObject = {d = {superdata = {direct = 0x7fc5d787aa60 <QCoreApplication::staticMetaObject>}, 
              stringdata = 0x7fc5d82821a0 <qt_meta_stringdata_ZN15QGuiApplicationE>, data = 0x7fc5d8281ea0 <qt_meta_data_ZN15QGuiApplicationE>, 
              static_metacall = 0x7fc5d7ae0ce0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
              metaTypes = 0x7fc5d83a1780 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_tag_ZN15QGuiApplicationE_t, QtPrivate::TypeAndForceComplete<QIcon, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<Qt::LayoutDirection, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<bool, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QScreen*, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QGuiApplication, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QScreen*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QScreen*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QScreen*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QWindow*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<Qt::ApplicationState, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<Qt::LayoutDirection, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QSessionManager&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QSessionManager&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QPalette const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QFont const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<long long, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}}
```
Comment 2 postix 2025-01-19 09:55:28 UTC
```
(gdb) list
483         return m_edid;
484     }
485
486     bool WaylandOutputDevice::enabled() const
487     {
488         return m_enabled;
489     }
490
491     int WaylandOutputDevice::id() const
492     {
```
Comment 3 postix 2025-01-19 12:08:54 UTC
For context the journalctl log:

```
XX:56:42 kscreenlocker_greet[25958]: qt.qpa.wayland: Could not create EGL surface (EGL error 0x3000)
XX:56:42 kscreenlocker_greet[25958]: pam_unix(kde:auth): authentication failure; logname=$USER uid=1000 euid=1000 tty= ruser= rhost=  user=$USER
XX:56:42 kscreenlocker_greet[25958]: QEventLoop: Cannot be used without QApplication
XX:56:42 kscreenlocker_greet[25958]: Failed to write to the pipe: Invalid filedescriptor.
XX:59:12 systemd[2348]: Starting plasma-kscreen-osd.service - KScreen OSD service...
XX:59:12 firefox[4212]: [Parent 4212, Main Thread] WARNING: Couldn't map window 0x7fb0a4da3240 as subsurface because its parent is not mapped.: 'glib warning', file /buil>
XX:59:12
(...)
XX:59:12 firefox[4212]: Couldn't map window 0x7fb0a4da3240 as subsurface because its parent is not mapped.
XX:59:12 plasmashell[2917]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:178:25: QML FolderViewDropArea (parent or ancestor of QQuic>
                                             file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:201:9
XX:59:12 plasmashell[2917]: Toolbox not loading, toolbox package is either invalid or disabled.
XX:59:12 systemd[2348]: Started plasma-kscreen-osd.service - KScreen OSD service.
XX:59:12 systemd[2348]: Started dbus-:1.2-org.kde.KSplash@1.service.
XX:59:24 firefox[4212]: [Parent 4212, Main Thread] WARNING: Couldn't map window 0x7fb0a4da3240 as subsurface because its parent is not mapped.: 'glib warning', file /buil>
(...)
XX:59:27 systemd-coredump[26569]: [🡕] Process 26466 (kscreen_osd_ser) of user 1000 dumped core.
```
Comment 4 Bug Janitor Service 2025-01-21 10:06:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libkscreen/-/merge_requests/220
Comment 5 Vlad Zahorodnii 2025-01-22 14:02:54 UTC
Git commit 47bbd2e2e54c842e1b736d7124ca51ccc175944c by Vlad Zahorodnii.
Committed on 22/01/2025 at 10:33.
Pushed by vladz into branch 'master'.

backends/kwayland: Reject configs with unknown outputs

If a config contains an unknown output, it can't be configured because
there is no matching output device.

M  +7    -0    backends/kwayland/waylandconfig.cpp

https://invent.kde.org/plasma/libkscreen/-/commit/47bbd2e2e54c842e1b736d7124ca51ccc175944c
Comment 6 Vlad Zahorodnii 2025-01-22 15:00:16 UTC
Git commit 64156eb6868bf17d51b06f3abc5e90ccdd605140 by Vlad Zahorodnii.
Committed on 22/01/2025 at 14:03.
Pushed by vladz into branch 'Plasma/6.3'.

backends/kwayland: Reject configs with unknown outputs

If a config contains an unknown output, it can't be configured because
there is no matching output device.


(cherry picked from commit 47bbd2e2e54c842e1b736d7124ca51ccc175944c)

Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>

M  +7    -0    backends/kwayland/waylandconfig.cpp

https://invent.kde.org/plasma/libkscreen/-/commit/64156eb6868bf17d51b06f3abc5e90ccdd605140