Bug 500466 - Pluggin in an external screen SISEGV's kwin_wayland
Summary: Pluggin in an external screen SISEGV's kwin_wayland
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 6.3.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-20 14:59 UTC by Igmar Palsenberg
Modified: 2025-02-20 16:50 UTC (History)
2 users (show)

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


Attachments
Backtrace file as generated by the reporting tool (172.84 KB, text/plain)
2025-02-20 16:01 UTC, Igmar Palsenberg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Igmar Palsenberg 2025-02-20 14:59:51 UTC
SUMMARY

kwin_wayland segfaults after plugging in a USB-C external screen.

STEPS TO REPRODUCE
1. Start FC41
2. Login
3. Plugin external screen

(will most likely also crash when not logged in, but then it drops me to the reported, that doesn't happen from the login screen

OBSERVED RESULT

SIGSEGV

EXPECTED RESULT

Working second screen

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: kwin-wayland-6.3.0-1.fc41
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 6.8.2

ADDITIONAL INFORMATION

Standard install on a Dell XPS 13. I see a similar (but not equal) crash on a Lenovo Thinkpad

Most / all info is available in https://bugzilla.redhat.com/show_bug.cgi?id=2345518
Comment 1 fanzhuyifan 2025-02-20 15:16:47 UTC
If something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl?

Thanks!
Comment 2 Igmar Palsenberg 2025-02-20 16:00:10 UTC
The backtrace : 

Truncated backtrace:
Thread no. 1 (21 frames)
 #3 KCrash::defaultCrashHandler at /usr/src/debug/kf6-kcrash-6.10.0-1.fc41.x86_64/src/kcrash.cpp:596
 #5 KWin::OutputMode::refreshRate at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/core/output.cpp:59
 #6 KWin::OutputConfigurationStore::chooseMode at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/outputconfigurationstore.cpp:590
 #7 KWin::OutputConfigurationStore::setupToConfig at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/outputconfigurationstore.cpp:367
 #8 KWin::OutputConfigurationStore::queryConfig at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/outputconfigurationstore.cpp:51
 #9 KWin::Workspace::updateOutputConfiguration at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/workspace.cpp:550
 #10 KWin::Workspace::slotOutputBackendOutputsQueried at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/workspace.cpp:1228
 #11 QtPrivate::QSlotObjectBase::call at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qobjectdefs_impl.h:486
 #12 doActivate<false> at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qobject.cpp:4115
 #13 KWin::DrmBackend::updateOutputs at /usr/src/debug/kwin-6.3.0-1.fc41.x86_64/src/backends/drm/drm_backend.cpp:283
 #14 QObject::event at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qobject.cpp:1418
 #15 QApplicationPrivate::notify_helper at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3296
 #16 QCoreApplication::notifyInternal2 at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1172
 #17 QCoreApplication::sendEvent at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1612
 #18 QCoreApplicationPrivate::sendPostedEvents at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1946
 #19 QEventDispatcherUNIX::processEvents at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:418
 #20 QUnixEventDispatcherQPA::processEvents at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/gui/platform/unix/qunixeventdispatcher.cpp:27
 #21 QEventLoop::exec at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/global/qflags.h:34
 #22 QCoreApplication::exec at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/corelib/global/qflags.h:74
 #23 QGuiApplication::exec at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1975
 #24 QApplication::exec at /usr/src/debug/qt6-qtbase-6.8.2-2.fc41.x86_64/src/widgets/kernel/qapplication.cpp:2564

I'll also add the backtrace that was generated together with the crashdump. If you need more, let me know, its trivial to reproduce.
Comment 3 Igmar Palsenberg 2025-02-20 16:01:34 UTC
Created attachment 178641 [details]
Backtrace file as generated by the reporting tool
Comment 4 Zamundaaa 2025-02-20 16:50:29 UTC
This is fixed with https://invent.kde.org/plasma/kwin/-/merge_requests/7142