Summary: | System Settings crashed in KScreen::Config::outputs() when changing settings and then saving or reverting | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Pawel <bednarczyk.pawel> |
Component: | kcm_kscreen | Assignee: | kscreen-bugs-null <kscreen-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | 13574038678, adavila89+kde, bednarczyk.pawel, kde, lukasz.wojnilowicz, maciejosikorski, me, meven29, mxj280, nate, plasma-bugs, puertavera |
Priority: | HI | Keywords: | drkonqi |
Version: | 5.26.90 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kscreen/commit/f219615dd17f061a104daa2a2902ae3b48b2b97b | Version Fixed In: | 5.27.2 |
Sentry Crash Report: | |||
Attachments: | New crash information added by DrKonqi |
Description
Pawel
2023-01-23 18:15:10 UTC
easily reproducible - apply/revert with different scale/primary monitor etc. and it will crash soon enough. Another backtrace just now: Application: System Settings (systemsettings), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} [KCrash Handler] #6 0x00007f34da9aadb8 in KScreen::Config::outputs() const (this=0x0) at /usr/src/debug/libkscreen/libkscreen-5.26.90/src/config.cpp:263 #7 0x00007f34d90c6b73 in KCMKScreen::checkConfig() (this=this@entry=0x7f350c00e4b0) at /usr/src/debug/kscreen/kscreen-5.26.90/kcm/kcm.cpp:352 #8 0x00007f34d90c6dd6 in KCMKScreen::continueNeedsSaveCheck(bool) (this=0x7f350c00e4b0, needs=<optimized out>) at /usr/src/debug/kscreen/kscreen-5.26.90/kcm/kcm.cpp:379 #9 0x00007f35198b1a70 in QObject::event(QEvent*) (this=0x7f350c00e4b0, e=0x55c8daea33f0) at kernel/qobject.cpp:1347 #10 0x00007f351a578b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7f350c00e4b0, e=0x55c8daea33f0) at kernel/qapplication.cpp:3640 #11 0x00007f351988de08 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f350c00e4b0, event=0x55c8daea33f0) at kernel/qcoreapplication.cpp:1064 #12 0x00007f351988e913 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55c8da482780) at kernel/qcoreapplication.cpp:1821 #13 0x00007f35198d4d48 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55c8da4b6240) at kernel/qeventdispatcher_glib.cpp:277 #14 0x00007f351831682b in g_main_dispatch (context=0x7f350c005010) at ../glib/glib/gmain.c:3454 #15 g_main_context_dispatch (context=0x7f350c005010) at ../glib/glib/gmain.c:4172 #16 0x00007f351836dcc9 in g_main_context_iterate.constprop.0 (context=0x7f350c005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248 #17 0x00007f35183150e2 in g_main_context_iteration (context=0x7f350c005010, may_block=1) at ../glib/glib/gmain.c:4313 #18 0x00007f35198d8b2c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55c8da460630, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #19 0x00007f35198865ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc0b082410, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #20 0x00007f35198910d9 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #21 0x00007f3519d39fe2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870 #22 0x00007f351a576f2a in QApplication::exec() () at kernel/qapplication.cpp:2832 #23 0x000055c8d8a5fc07 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/systemsettings/systemsettings-5.26.90/app/main.cpp:188 [Inferior 1 (process 18197) detached] *** Bug 465172 has been marked as a duplicate of this bug. *** Created attachment 156539 [details]
New crash information added by DrKonqi
systemsettings (5.27.0) using Qt 5.15.8
Crash happened after failing to enable my external monitor.
-- Backtrace (Reduced):
#4 0x00007f4054a8f8b8 in KScreen::Config::outputs (this=0x0) at /usr/src/debug/libkscreen-qt5-5.27.0-1.fc37.x86_64/src/config.cpp:263
#5 0x00007f4054afb8a2 in KCMKScreen::checkConfig (this=this@entry=0x559f0bd1c8b0) at /usr/src/debug/kscreen-5.27.0-1.fc37.x86_64/kcm/kcm.cpp:352
#6 0x00007f4054afbb06 in KCMKScreen::continueNeedsSaveCheck (this=0x559f0bd1c8b0, needs=<optimized out>) at /usr/src/debug/kscreen-5.27.0-1.fc37.x86_64/kcm/kcm.cpp:379
#7 0x00007f406d2c8134 in QObject::event (this=0x559f0bd1c8b0, e=0x559f0d726080) at kernel/qobject.cpp:1347
#8 0x00007f406dfaed62 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x559f0bd1c8b0, e=0x559f0d726080) at kernel/qapplication.cpp:3640
*** Bug 465973 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/kscreen/-/merge_requests/184 (In reply to Bug Janitor Service from comment #5) > A possibly relevant merge request was started @ > https://invent.kde.org/plasma/kscreen/-/merge_requests/184 I applied this patch on top of kscreen 5.27.1.1 on arch and I can no longer reproduce this issue. Thanks for the fix. I hope we can land it in 5.27.2 Git commit 087fb6d16d7bfd7248888b6fe5074313f19f3f64 by Arjen Hiemstra. Committed on 23/02/2023 at 17:02. Pushed by ngraham into branch 'master'. kcm: Guard against config being null in checkConfig() This method is called from a queued signal and can be called when the config has been unset. Most of the other methods are already guarded against this but this one was not, causing crashes. M +4 -0 kcm/kcm.cpp https://invent.kde.org/plasma/kscreen/commit/087fb6d16d7bfd7248888b6fe5074313f19f3f64 Git commit f219615dd17f061a104daa2a2902ae3b48b2b97b by Nate Graham, on behalf of Arjen Hiemstra. Committed on 23/02/2023 at 21:12. Pushed by ngraham into branch 'Plasma/5.27'. kcm: Guard against config being null in checkConfig() This method is called from a queued signal and can be called when the config has been unset. Most of the other methods are already guarded against this but this one was not, causing crashes. (cherry picked from commit 087fb6d16d7bfd7248888b6fe5074313f19f3f64) M +4 -0 kcm/kcm.cpp https://invent.kde.org/plasma/kscreen/commit/f219615dd17f061a104daa2a2902ae3b48b2b97b *** Bug 466291 has been marked as a duplicate of this bug. *** *** Bug 465973 has been marked as a duplicate of this bug. *** *** Bug 466595 has been marked as a duplicate of this bug. *** *** Bug 474457 has been marked as a duplicate of this bug. *** |