Bug 449931

Summary: Display Configuration crash when exit with Esc
Product: [Applications] systemsettings Reporter: Laurent RINEAU <Laurent.Rineau__kde>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: nate, nicolas.fella
Priority: NOR Keywords: drkonqi
Version: 5.24.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 5.24.1

Description Laurent RINEAU 2022-02-10 11:57:21 UTC
Application: systemsettings (5.24.0)

Qt Version: 5.15.2
Frameworks Version: 5.90.0
Operating System: Linux 5.16.7-200.fc35.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora release 35 (Thirty Five)"
DrKonqi: 5.24.0 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:

1. Start "Display Configuration" either from the start menu or from krunner
2. Then type the Esc key

that crashes the windows and Dr Konqi displays a notification.

Note that I run the KDE sesision with wayland, and I have two monitors: one integrated laptop manitor, and an external monitor.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f4500ade7ac in KScreen::Config::clone() const () at /lib64/libKF5Screen.so.7
#5  0x00007f44fb5917d8 in KCMKScreen::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/qt5/plugins/kcms/kcm_kscreen.so
#6  0x00007f44fb592433 in KCMKScreen::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/plugins/kcms/kcm_kscreen.so
#7  0x00007f4553b526f5 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () at /lib64/libQt5Qml.so.5
#8  0x00007f4553a5b638 in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () at /lib64/libQt5Qml.so.5
#9  0x00007f4553a5d5c7 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /lib64/libQt5Qml.so.5
#10 0x00007f4553a6d271 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) () at /lib64/libQt5Qml.so.5
#11 0x00007f4553a70c15 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) [clone .part.0] () at /lib64/libQt5Qml.so.5
#12 0x00007f4553a137de in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /lib64/libQt5Qml.so.5
#13 0x00007f4553b6dc71 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () at /lib64/libQt5Qml.so.5
#14 0x00007f4553b27ae1 in QQmlBoundSignalExpression::evaluate(void**) () at /lib64/libQt5Qml.so.5
#15 0x00007f4553b27e73 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#16 0x00007f4553b52625 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#17 0x00007f455507a272 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#18 0x00007f45424b9536 in QQuickAction::triggered(QObject*) () at /lib64/libQt5QuickTemplates2.so.5
#19 0x00007f45424bbcf2 in QQuickActionPrivate::trigger(QObject*, bool) () at /lib64/libQt5QuickTemplates2.so.5
#20 0x00007f45424bbe69 in QQuickActionPrivate::handleShortcutEvent(QObject*, QShortcutEvent*) () at /lib64/libQt5QuickTemplates2.so.5
#21 0x00007f4555c20443 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#22 0x00007f45550467d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#23 0x00007f45555c8f32 in QShortcutMap::dispatchEvent(QKeyEvent*) () at /lib64/libQt5Gui.so.5
#24 0x00007f45555c95a3 in QShortcutMap::tryShortcut(QKeyEvent*) () at /lib64/libQt5Gui.so.5
#25 0x00007f45555800a7 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () at /lib64/libQt5Gui.so.5
#26 0x00007f455559950f in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /lib64/libQt5Gui.so.5
#27 0x00007f455557cc9c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5
#28 0x00007f45525e2b44 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5WaylandClient.so.5
#29 0x00007f4552d5705f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#30 0x00007f4552dac2a8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#31 0x00007f4552d54853 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#32 0x00007f4555097bb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#33 0x00007f45550451e2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#34 0x00007f455504d724 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#35 0x00005580799c91e1 in main ()
[Inferior 1 (process 10636) detached]

Possible duplicates by query: bug 449869, bug 447199.

Reported using DrKonqi
Comment 1 Bug Janitor Service 2022-02-10 16:06:31 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kscreen/-/merge_requests/83
Comment 2 Nicolas Fella 2022-02-12 14:57:03 UTC
Git commit cae29223285b399c788345bacf9c101e219fd84f by Nicolas Fella.
Committed on 12/02/2022 at 14:54.
Pushed by ngraham into branch 'master'.

[kcm] Only enable revert action when revert sheet is open

Otherwise we trigger a revert when trying to close the window via Esc, which will crash

M  +1    -0    kcm/package/contents/ui/main.qml

https://invent.kde.org/plasma/kscreen/commit/cae29223285b399c788345bacf9c101e219fd84f
Comment 3 Nate Graham 2022-02-12 14:57:31 UTC
Git commit 2a22b96d46537d02b3e3fef83167115a9ba0bf8d by Nate Graham, on behalf of Nicolas Fella.
Committed on 12/02/2022 at 14:57.
Pushed by ngraham into branch 'Plasma/5.24'.

[kcm] Only enable revert action when revert sheet is open

Otherwise we trigger a revert when trying to close the window via Esc, which will crash


(cherry picked from commit cae29223285b399c788345bacf9c101e219fd84f)

M  +1    -0    kcm/package/contents/ui/main.qml

https://invent.kde.org/plasma/kscreen/commit/2a22b96d46537d02b3e3fef83167115a9ba0bf8d
Comment 4 Laurent RINEAU 2022-02-20 17:42:54 UTC
I confirm the bug is fixed in Plasma 5.24.1. Thanks.