Summary: | System setting crashed in QQmlData::wasDeleted() after quitting it while on the Screen Locker KCM's Appearance page | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Tony <jodr666> |
Component: | kcm_screenlocker | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | adressepoub.rl, arthur, bugseforuns, kde, khris.allen7, nate, rstreeter78, undying.k |
Priority: | VHI | Keywords: | drkonqi, regression |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=431419 https://bugs.kde.org/show_bug.cgi?id=427444 |
||
Latest Commit: | https://invent.kde.org/frameworks/kirigami/commit/b4a6c562cde4e064494e261bc3f64000cbf628a5 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
valgrind output
New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Tony
2020-10-30 07:51:46 UTC
It seems to be triggered by this callLater (https://invent.kde.org/frameworks/kirigami/-/blob/master/src/controls/FormLayout.qml#L87) and the deleted object being "Qt" judging from its name. Exchangint that line with the previous line fixes the crash weirdly for me. Additionally I can also trigger it with "console.log("foo") instead of the callLater Created attachment 132886 [details]
valgrind output
Created attachment 133369 [details]
New crash information added by DrKonqi
systemsettings5 (5.20.2) using Qt 5.15.1
- What I was doing when the application crashed:
I was clearing Background image in the locking settings of Breeze sddm
-- Backtrace (Reduced):
#4 0x00007fdff24154da in QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, QQmlPropertyData**) () at /usr/lib64/libQt5Qml.so.5
#5 0x00007fdff23f4fea in QV4::QQmlContextWrapper::getPropertyAndBase(QV4::QQmlContextWrapper const*, QV4::PropertyKey, QV4::Value const*, bool*, QV4::Value*, QV4::Lookup*) () at /usr/lib64/libQt5Qml.so.5
#6 0x00007fdff23f58b3 in QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value*) () at /usr/lib64/libQt5Qml.so.5
#7 0x00007fdff2432040 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) () at /usr/lib64/libQt5Qml.so.5
#8 0x00007fdff2436f67 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) () at /usr/lib64/libQt5Qml.so.5
Created attachment 133445 [details] New crash information added by DrKonqi systemsettings5 (5.20.2) using Qt 5.15.1 - What I was doing when the application crashed: After opening "Screen Locking" Appearance, closing or switching to anything else than "Screen Locking" crashes systemsettings Full disclosure, I'm using the zawertun/kde copr repo. https://copr.fedorainfracloud.org/coprs/zawertun/kde/ -- Backtrace (Reduced): #4 0x00007f39adf67fba in QQmlData::wasDeleted (object=0x55c8ea8e6990) at ../../include/QtQml/5.15.1/QtQml/private/../../../../../src/qml/qml/qqmldata_p.h:338 #5 QV4::QObjectWrapper::getQmlProperty (engine=0x55c8ea251a50, qmlContext=0x55c8e83cf000, object=0x55c8ea8e6990, name=0x7f396dfb05e8, revisionMode=QV4::QObjectWrapper::CheckRevision, hasProperty=0x7ffe84b45e58, property=0x7ffe84b45e60) at jsruntime/qv4qobjectwrapper.cpp:360 #6 0x00007f39adf4bde1 in QV4::QQmlContextWrapper::getPropertyAndBase (resource=<optimized out>, id=..., receiver=<optimized out>, hasProperty=0x7ffe84b45f07, base=0x0, lookup=0x0) at jsruntime/qv4qmlcontext.cpp:316 #7 0x00007f39adf4d703 in QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter (l=0x55c8eaaa3e00, engine=0x55c8ea251a50, base=0x0) at jsruntime/qv4qmlcontext.cpp:481 #8 0x00007f39adf81348 in QV4::Moth::VME::interpret (frame=0x7ffe84b46220, engine=0x55c8ea251a50, code=0x7f397499ca0b "\030\n(N\030\r\247a\001") at jsruntime/qv4vme_moth.cpp:585 *** This bug has been marked as a duplicate of bug 426047 *** 426047 has a different backtrace, probably not a duplicate of this Ah right, this is the QQmlData::wasDeleted() thing. *** This bug has been marked as a duplicate of bug 427444 *** *** This bug has been marked as a duplicate of bug 411795 *** Same situation as in Bug 431419, but a different backtrace. Weird. This bug says it crashes while closing the app, while Bug 431419 says it crashes while navigating to a different KCM. Re-opening and un-duping. *** Bug 429786 has been marked as a duplicate of this bug. *** *** Bug 429983 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/210 Git commit b4a6c562cde4e064494e261bc3f64000cbf628a5 by Nate Graham, on behalf of Nicolas Fella. Committed on 22/01/2021 at 14:51. Pushed by ngraham into branch 'master'. Don't manually call reverseTwinsChanged when destructing FormLayout This line causes a crash when destructing the screenlocker KCM. It doesn't seem to be caused by reverseTwinsChanged itself but rather by accessing the Qt object. I don't fully undestand the root cause. However the call itself appears to be unnecessary since in the line above we write to reverseTwins and that triggers the changed signal if needed. Related: bug 431419 M +0 -1 src/controls/FormLayout.qml https://invent.kde.org/frameworks/kirigami/commit/b4a6c562cde4e064494e261bc3f64000cbf628a5 Created attachment 135116 [details]
New crash information added by DrKonqi
systemsettings5 (5.20.5) using Qt 5.15.2
- What I was doing when the application crashed:
Changed my lockscreen image at first. The second and third times that I did this to repeat the crash, I only viewed the pane of options for selecting a wallpaper and it crashes every time.
- Custom settings of the application:
I have the global theme "Nordic" applied, which takes over SDDM successfully, and some elements of kscreenlocker, but not entirely. Other than the custom wallpaper change, no other custom settings are applied to the lockscreen from default Fedora KDE install.
-- Backtrace (Reduced):
#4 0x00007f882a1f7a0e in QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, QQmlPropertyData**) () from /lib64/libQt5Qml.so.5
#5 0x00007f882a1db491 in QV4::QQmlContextWrapper::getPropertyAndBase(QV4::QQmlContextWrapper const*, QV4::PropertyKey, QV4::Value const*, bool*, QV4::Value*, QV4::Lookup*) () from /lib64/libQt5Qml.so.5
#6 0x00007f882a1dce63 in QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value*) () from /lib64/libQt5Qml.so.5
#7 0x00007f882a211310 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) () from /lib64/libQt5Qml.so.5
#9 0x00007f882a1b67bd in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /lib64/libQt5Qml.so.5
|