Bug 504051 - kwin crashes in KWin::Workspace::outputRemoved() when switching from external monitor to internal monitor using a script that invokes kscreen-doctor a bunch
Summary: kwin crashes in KWin::Workspace::outputRemoved() when switching from external...
Status: RESOLVED DUPLICATE of bug 504516
Alias: None
Product: kwin
Classification: Plasma
Component: multi-screen (other bugs)
Version First Reported In: 6.3.5
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi, multiscreen
Depends on:
Blocks:
 
Reported: 2025-05-11 10:42 UTC by Xwang
Modified: 2025-05-20 06:56 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/178276/events/2b0be17e5e164f25a66afe11e5a9d655/


Attachments
Script used to switch monitors (1.66 KB, application/x-shellscript)
2025-05-11 11:23 UTC, Xwang
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xwang 2025-05-11 10:42:21 UTC
Application: kwin_wayland (6.3.5)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.0
Frameworks Version: 6.13.0
Operating System: Linux 6.12.28-1-lts x86_64
Windowing System: Wayland
Distribution: Arch Linux
DrKonqi: 6.3.5 [CoredumpBackend]

-- Information about the crash:
Everytime I switch from the external monitor to the laptop internal one, kwin crashes.
This used to work up to some days ago.
The issue is present both with arch kernel and lts one.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_wayland), signal: Segmentation fault


This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.

warning: Can't open file /memfd:JSGCHeap:QtQml (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:kwayland-shared (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:JITCode:QtQml (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:xwayland-shared (deleted) during file-backed mapping note processing

warning: Can't open file anon_inode:i915.gem during file-backed mapping note processing

warning: Can't open file /memfd:JSVMStack:QtQml (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:unknown-usage:QtQml (deleted) during file-backed mapping note processing
[New LWP 1606]
[New LWP 1652]
[New LWP 1630]
[New LWP 1663]
[New LWP 1653]
[New LWP 1666]
[New LWP 1956]
[New LWP 2245]
[New LWP 1651]
[New LWP 1665]
[New LWP 1654]
[New LWP 1664]
[New LWP 2244]
[New LWP 1668]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayland-fd 9 --xwayland-display :0 --xwayland-xauthority /run/user/1000/xauth_UNVLgN --xwayland'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007645f12a774c in ?? () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7645eb987a40 (LWP 1606))]
Function(s) ^std::(move|forward|as_const|(__)?addressof) will be skipped when stepping.
Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?(begin|end)|front|back|data|size|empty) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|span)<.*>::operator.] will be skipped when stepping.
Cannot QML trace cores :(
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:547: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  boot_time = datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S')
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:564: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  'timestamp': datetime.utcnow().isoformat(),
[Current thread is 1 (Thread 0x7645eb987a40 (LWP 1606))]

Thread 14 (Thread 0x7645c9ffb6c0 (LWP 1668)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a2024 in ??? () at /usr/lib/libc.so.6
#3  0x00007645f131c5a6 in ppoll () at /usr/lib/libc.so.6
#4  0x00007645f05a6f67 in ??? () at /usr/lib/libglib-2.0.so.0
#5  0x00007645f0542615 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#6  0x00007645f1bcd59d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#7  0x00007645f1965376 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#8  0x00007645f1a5a629 in QThread::run() () at /usr/lib/libQt6Core.so.6
#9  0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#10 0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#11 0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 13 (Thread 0x7645c89f76c0 (LWP 2244)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4f28 in pthread_cond_timedwait () at /usr/lib/libc.so.6
#4  0x00007645f1ae9a83 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#5  0x00007645f1adf6d5 in ??? () at /usr/lib/libQt6Core.so.6
#6  0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 12 (Thread 0x7645cb7fe6c0 (LWP 1664)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645e1b5ab9e in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#5  0x00007645e1b156bd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#6  0x00007645e1b5aacd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 11 (Thread 0x7645d8dff6c0 (LWP 1654)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a2024 in ??? () at /usr/lib/libc.so.6
#3  0x00007645f131c5a6 in ppoll () at /usr/lib/libc.so.6
#4  0x00007645f05a6f67 in ??? () at /usr/lib/libglib-2.0.so.0
#5  0x00007645f0542615 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#6  0x00007645f1bcd59d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#7  0x00007645f1965376 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#8  0x00007645f1a5a629 in QThread::run() () at /usr/lib/libQt6Core.so.6
#9  0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#10 0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#11 0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7645caffd6c0 (LWP 1665)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645e1b5ab9e in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#5  0x00007645e1b156bd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#6  0x00007645e1b5aacd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7645e9ebe6c0 (LWP 1651)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645e1b5ab9e in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#5  0x00007645e1b156bd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#6  0x00007645e1b5aacd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7645c91f86c0 (LWP 2245)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4f28 in pthread_cond_timedwait () at /usr/lib/libc.so.6
#4  0x00007645f1ae9a83 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#5  0x00007645f1adf6d5 in ??? () at /usr/lib/libQt6Core.so.6
#6  0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7645995dd6c0 (LWP 1956)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645f14daaa1 in __gthread_cond_wait (__cond=<optimized out>, __mutex=<optimized out>) at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:911
#5  std::__condvar::wait (this=<optimized out>, __m=<optimized out>) at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/std_mutex.h:173
#6  std::condition_variable::wait (this=<optimized out>, __lock=<optimized out>) at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/condition_variable.cc:41
#7  0x00007645f4860bc1 in ??? () at /usr/lib/libkwin.so.6
#8  0x00007645f48610da in ??? () at /usr/lib/libkwin.so.6
#9  0x00007645f485b4f6 in ??? () at /usr/lib/libkwin.so.6
#10 0x00007645f12aacb4 in ??? () at /usr/lib/libc.so.6
#11 0x00007645f12aad29 in pthread_once () at /usr/lib/libc.so.6
#12 0x00007645f485bfdf in ??? () at /usr/lib/libkwin.so.6
#13 0x00007645f1a4ffb5 in ??? () at /usr/lib/libQt6Core.so.6
#14 0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#15 0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#16 0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7645ca7fc6c0 (LWP 1666)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645e1b5ab9e in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#5  0x00007645e1b156bd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#6  0x00007645e1b5aacd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7645e8ebc6c0 (LWP 1653)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645f14daaa1 in __gthread_cond_wait (__cond=<optimized out>, __mutex=<optimized out>) at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:911
#5  std::__condvar::wait (this=<optimized out>, __m=<optimized out>) at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/std_mutex.h:173
#6  std::condition_variable::wait (this=<optimized out>, __lock=<optimized out>) at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/condition_variable.cc:41
#7  0x00007645f4860bc1 in ??? () at /usr/lib/libkwin.so.6
#8  0x00007645f48610da in ??? () at /usr/lib/libkwin.so.6
#9  0x00007645f485b4f6 in ??? () at /usr/lib/libkwin.so.6
#10 0x00007645f12aacb4 in ??? () at /usr/lib/libc.so.6
#11 0x00007645f12aad29 in pthread_once () at /usr/lib/libc.so.6
#12 0x00007645f485bfdf in ??? () at /usr/lib/libkwin.so.6
#13 0x00007645f1a4ffb5 in ??? () at /usr/lib/libQt6Core.so.6
#14 0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#15 0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#16 0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7645cbfff6c0 (LWP 1663)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645e1b5ab9e in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#5  0x00007645e1b156bd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#6  0x00007645e1b5aacd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7645eb3ff6c0 (LWP 1630)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a2024 in ??? () at /usr/lib/libc.so.6
#3  0x00007645f131c5a6 in ppoll () at /usr/lib/libc.so.6
#4  0x00007645f05a6f67 in ??? () at /usr/lib/libglib-2.0.so.0
#5  0x00007645f0542615 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#6  0x00007645f1bcd59d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#7  0x00007645f1965376 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#8  0x00007645f1a5a4b9 in QThread::exec() () at /usr/lib/libQt6Core.so.6
#9  0x00007645f2a178de in ??? () at /usr/lib/libQt6DBus.so.6
#10 0x00007645f1ae44ff in ??? () at /usr/lib/libQt6Core.so.6
#11 0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#12 0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7645e96bd6c0 (LWP 1652)):
#0  0x00007645f12ade22 in ??? () at /usr/lib/libc.so.6
#1  0x00007645f12a1fda in ??? () at /usr/lib/libc.so.6
#2  0x00007645f12a264c in ??? () at /usr/lib/libc.so.6
#3  0x00007645f12a4d1e in pthread_cond_wait () at /usr/lib/libc.so.6
#4  0x00007645e1b5ab9e in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#5  0x00007645e1b156bd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#6  0x00007645e1b5aacd in ??? () at /usr/lib/libgallium-25.0.5-arch1.1.so
#7  0x00007645f12a57eb in ??? () at /usr/lib/libc.so.6
#8  0x00007645f132918c in ??? () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7645eb987a40 (LWP 1606)):
[KCrash Handler]
#4  0x00007645f459aed4 in KWin::RenderLayer::loop() const () at /usr/lib/libkwin.so.6
#5  0x00007645f4577da1 in KWin::Compositor::removeSuperLayer(KWin::RenderLayer*) () at /usr/lib/libkwin.so.6
#6  0x00007645f19b6cc9 in ??? () at /usr/lib/libQt6Core.so.6
#7  0x00007645f47e23cb in KWin::Workspace::outputRemoved(KWin::Output*) () at /usr/lib/libkwin.so.6
#8  0x00007645f47db491 in KWin::Workspace::updateOutputs(std::optional<QList<KWin::Output*> > const&) () at /usr/lib/libkwin.so.6
#9  0x00007645f47d25c4 in KWin::Workspace::applyOutputConfiguration(KWin::OutputConfiguration const&, std::optional<QList<KWin::Output*> > const&) () at /usr/lib/libkwin.so.6
#10 0x00007645f492c651 in ??? () at /usr/lib/libkwin.so.6
#11 0x00007645efc18976 in ??? () at /usr/lib/libffi.so.8
#12 0x00007645efc1513c in ??? () at /usr/lib/libffi.so.8
#13 0x00007645efc17f0e in ffi_call () at /usr/lib/libffi.so.8
#14 0x00007645f290ff85 in ??? () at /usr/lib/libwayland-server.so.0
#15 0x00007645f2914d02 in ??? () at /usr/lib/libwayland-server.so.0
#16 0x00007645f2913112 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
#17 0x00007645f48fb89a in KWin::Display::dispatchEvents() () at /usr/lib/libkwin.so.6
#18 0x00007645f19b6cc9 in ??? () at /usr/lib/libQt6Core.so.6
#19 0x00007645f19bee7e in QSocketNotifier::event(QEvent*) () at /usr/lib/libQt6Core.so.6
#20 0x00007645f2cfed9e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#21 0x00007645f195a018 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#22 0x00007645f1ae28d8 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () at /usr/lib/libQt6Core.so.6
#23 0x00007645f1ae3412 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#24 0x00007645f2672943 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Gui.so.6
#25 0x00007645f1965376 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#26 0x00007645f195d159 in QCoreApplication::exec() () at /usr/lib/libQt6Core.so.6
#27 0x00005ad9b779a534 in ??? ()
#28 0x00007645f12376b5 in ??? () at /usr/lib/libc.so.6
#29 0x00007645f1237769 in __libc_start_main () at /usr/lib/libc.so.6
#30 0x00005ad9b77a0ab5 in ??? ()

Reported using DrKonqi
Comment 1 Xwang 2025-05-11 11:23:06 UTC
Created attachment 181169 [details]
Script used to switch monitors

This is the script I use to switch monitor. 
It is invoked when I press a specific button on the keyboard.
Comment 2 Xwang 2025-05-13 18:53:23 UTC
Moreover I'm pretty sure the bug is happening because when I never have both monitor enabled at the same time (internal monitor is disabled when I connect the external monitor and vice versa)
Comment 3 Xwang 2025-05-13 19:21:23 UTC
Just to clarify, the crash happens both if I use the script or if I do not and just disconnect the hdmi cable
Comment 4 Miren Radia 2025-05-13 19:54:01 UTC
I'm observing similar behaviour sometimes (but not always) when I do the following

1. Have laptop connected to a Thunderbolt dock with 2 screens connected to it and the internal screen disabled.
2. Disconnect from the dock (and therefore the 2 external screens) which should re-enable the internal screen.

My system is as follows:

Operating System: Fedora Linux 42
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.13.0
Qt Version: 6.9.0
Kernel Version: 6.14.5-300.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 12th Gen Intel® Core™ i7-1260P
Memory: 31.0 GiB of RAM
Graphics Processor: Intel® Iris® Xe Graphics
Manufacturer: Framework
Product Name: Laptop (12th Gen Intel Core)
System Version: A6

Here's a stack trace with debugging symbols:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007f2a9c4811e3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89
#2  0x00007f2a9c427afe in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f2aa012eef1 in KCrash::defaultCrashHandler (sig=11)
    at /usr/src/debug/kf6-kcrash-6.13.0-1.fc42.x86_64/src/kcrash.cpp:605
#4  0x00007f2a9c427c30 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007f2a9fb57deb in KWin::DrmOutput::cursorLayer (this=0x55ed990e1880)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/backends/drm/drm_output.cpp:571
#6  0x00007f2a9f85eb8c in operator() (__closure=0x55ed99015b90)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/compositor_wayland.cpp:505
#7  0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed99015b80, r=0x55ed98845ba0, a=0x7fffd21d83b0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#8  doActivate<false> (sender=0x55ed9389a7f0, signal_index=3, argv=argv@entry=0x7fffd21d83b0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#9  0x00007f2a9cb56d09 in QMetaObject::activate
    (sender=<optimized out>, m=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffd21d83b0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4198
#10 0x00007f2a9f88c727 in QMetaObject::activate<void, KWin::Cursor*>
    (sender=<optimized out>, mo=<optimized out>, local_signal_index=0, ret=0x0)
    at /usr/include/qt6/QtCore/qobjectdefs.h:306
#11 KWin::Cursors::currentCursorChanged (this=<optimized out>, _t1=<optimized out>)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/redhat-linux-build/src/kwin_autogen/include/moc_cursor.cpp:300
#12 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed938ca200, r=0x55ed9389a7f0, a=0x7fffd21d8458)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#13 doActivate<false> (sender=0x55ed938c0a70, signal_index=5, argv=0x7fffd21d8458)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#14 0x00007f2a9f9c6fea in operator() (__closure=0x55ed948cd900)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/pointer_input.cpp:111
#15 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#16 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KWin::PointerInputRedirection::init()::<lambda()> >::call(KWin::PointerInputRedirection::init()::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#17 QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KWin::PointerInputRedirection::init()::<lambda()> >::call (f=..., arg=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#18 QtPrivate::FunctorCallable<KWin::PointerInputRedirection::init()::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#19 QtPrivate::QCallableObject<KWin::PointerInputRedirection::init()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
    (which=<optimized out>, this_=0x55ed948cd8f0, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#20 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed948cd8f0, r=0x55ed938c0a70, a=0x7fffd21d8548)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#21 doActivate<false> (sender=0x55ed947aec00, signal_index=3, argv=0x7fffd21d8548)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#22 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed946455d0, r=0x55ed947aec00, a=0x7fffd21d8618)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#23 doActivate<false> (sender=0x55ed9367a5d0, signal_index=4, argv=0x7fffd21d8618)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#24 0x00007f2a9fc260c9 in KWin::SeatInterface::notifyPointerLeave (this=0x55ed93670000)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/wayland/seat.cpp:577
#25 0x00007f2a9f92a818 in KWin::InputDeviceHandler::update (this=0x55ed93788c90)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/input.cpp:3677
#26 KWin::InputDeviceHandler::update (this=0x55ed93788c90)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/input.cpp:3658
#27 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed994e0370, r=0x55ed93788c90, a=0x7fffd21d87c8)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#28 doActivate<false> (sender=0x55ed989e5740, signal_index=8, argv=0x7fffd21d87c8)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#29 0x00007f2a9f95d120 in KWin::LayerShellV1Window::destroyWindow (this=0x55ed989e5740)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/layershellv1window.cpp:212
#30 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed971f46e0, r=0x55ed989e5740, a=0x7fffd21d8960)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#31 doActivate<false> (sender=0x55ed94448ac0, signal_index=19, argv=argv@entry=0x7fffd21d8960)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#32 0x00007f2a9cb56d09 in QMetaObject::activate
    (sender=<optimized out>, m=<optimized out>, local_signal_index=local_signal_index@entry=16, argv=argv@entry=0x7fffd21d8960) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4198
#33 0x00007f2a9fabcfda in QMetaObject::activate<void, KWin::Output*>
    (sender=<optimized out>, mo=<optimized out>, local_signal_index=16, ret=0x0, sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized out>, ret=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs.h:306
#34 KWin::Workspace::outputRemoved (this=<optimized out>, _t1=<optimized out>)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/redhat-linux-build/src/kwin_autogen/include/moc_workspace.cpp:662
#35 0x00007f2a9fab6290 in KWin::Workspace::updateOutputs (this=0x55ed94448ac0, outputOrder=<optimized out>)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/workspace.cpp:1325
#36 0x00007f2a9faad613 in KWin::Workspace::applyOutputConfiguration
    (this=0x55ed94448ac0, config=..., outputOrder=std::optional = {...})
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/workspace.cpp:511
#37 KWin::Workspace::applyOutputConfiguration
    (this=this@entry=0x55ed94448ac0, config=..., outputOrder=std::optional = {...})
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/workspace.cpp:506
#38 0x00007f2a9faada0a in KWin::Workspace::updateOutputConfiguration (this=this@entry=0x55ed94448ac0)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/workspace.cpp:581
#39 0x00007f2a9faae29f in KWin::Workspace::slotOutputBackendOutputsQueried (this=0x55ed94448ac0)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/workspace.cpp:1246
#40 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed94817bf0, r=0x55ed94448ac0, a=0x7fffd21d9288)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#41 doActivate<false> (sender=0x55ed9366fc40, signal_index=3, argv=0x7fffd21d9288)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#42 0x00007f2a9fb2fddf in KWin::DrmBackend::updateOutputs (this=this@entry=0x55ed9366fc40)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/backends/drm/drm_backend.cpp:292
#43 0x00007f2a9fb319d5 in KWin::DrmBackend::handleUdevEvent (this=0x55ed9366fc40)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/backends/drm/drm_backend.cpp:202
#44 0x00007f2a9cb6033a in QtPrivate::QSlotObjectBase::call
    (this=0x55ed936831f0, r=0x55ed9366fc40, a=0x7fffd21d9680)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#45 doActivate<false> (sender=0x55ed9374d250, signal_index=3, argv=argv@entry=0x7fffd21d9680)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138
#46 0x00007f2a9cb56d09 in QMetaObject::activate
    (sender=sender@entry=0x55ed93358020, m=m@entry=0x7f2a9d092f40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffd21d9680)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:4198
#47 0x00007f2a9cb6ee83 in QMetaObject::activate<void, QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal> (sender=0x55ed93358020, mo=0x7f2a9d092f40, local_signal_index=0, ret=0x0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306
#48 QSocketNotifier::activated (this=this@entry=0x55ed9374d250, _t1=..., _t2=<optimized out>, _t3=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161
#49 0x00007f2a9cb6f65b in QSocketNotifier::event (this=0x55ed9374d250, e=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qsocketnotifier.cpp:327
#50 0x00007f2a9de3d7af in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x55ed9374d250, e=0x7fffd21d97d0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#51 0x00007f2a9caf5fa8 in QCoreApplication::notifyInternal2 (receiver=0x55ed9374d250, event=0x7fffd21d97d0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#52 0x00007f2a9caf620d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#53 0x00007f2a9ccc0667 in QEventDispatcherUNIXPrivate::activateSocketNotifiers
    (this=this@entry=0x55ed93357f80)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:254
#54 0x00007f2a9ccc0fb9 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:470
#55 0x00007f2a9d8d2e42 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/platform/unix/qunixeventdispatcher.cpp:27
#56 0x00007f2a9cb03783 in QEventLoop::exec (this=this@entry=0x7fffd21d99a0, flags=..., flags@entry=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/global/qflags.h:77
#57 0x00007f2a9caff229 in QCoreApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#58 0x00007f2a9d2dac3d in QGuiApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1993
#59 0x00007f2a9de3d719 in QApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2568
#60 0x000055ed6c0bffeb in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kwin-6.3.5-1.fc42.x86_64/src/main_wayland.cpp:622

I'm not sure if it's exactly the same issue but the stack trace looked similar enough so I thought I would comment here.
Comment 5 Nate Graham 2025-05-19 18:42:59 UTC
*** Bug 504542 has been marked as a duplicate of this bug. ***
Comment 6 Vlad Zahorodnii 2025-05-20 06:56:58 UTC

*** This bug has been marked as a duplicate of bug 504516 ***