Bug 419008

Summary: Always crash in Regional Setting within System Settings
Product: [Frameworks and Libraries] frameworks-kirigami Reporter: Zhonghua <kipade>
Component: generalAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: critical CC: bugseforuns, harry66, home, hpfeil, hung0966609285, kde, kernozz, mcpain, nate, norbert, p.van.damme1112, plasma-bugs, rikmills, robert.goedl76, thoppels, vascom2, wbauer1, zawertun
Priority: VHI    
Version: 5.68.0   
Target Milestone: Not decided   
Platform: Slackware   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: crash backtrace
systemsettings5-20200320-112045.kcrash.txt
kcrash save Debian/sid
New crash information added by DrKonqi

Description Zhonghua 2020-03-19 08:15:37 UTC
Created attachment 126883 [details]
crash backtrace

SUMMARY
I already export LANG as zh_CN.utf8, terminal works fine for Chinese language,
but plasma does not. So, I want to enter its system settings center to see what
is wrong about it. However, when I click the setting entry, it crashed always.

STEPS TO REPRODUCE
1. System Settings
2. Regional Settings / Language

OBSERVED RESULT
Crashed always

EXPECTED RESULT


SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Slackware64 post 14.2 current (packages by AlienBob)
(available in About System)
KDE Plasma Version: 5.18.3
KDE Frameworks Version: 5.68.0
Qt Version: 5.13.2

ADDITIONAL INFORMATION
Comment 1 Yaroslav Sidlovsky 2020-03-20 08:22:13 UTC
Created attachment 126904 [details]
systemsettings5-20200320-112045.kcrash.txt

Same bug on Fedora 31.

System info:
Operating System: Fedora 31
KDE Plasma Version: 5.18.3
KDE Frameworks Version: 5.68.0
Qt Version: 5.13.2
Kernel Version: 5.5.9-200.fc31.x86_64
OS Type: 64-bit
Processors: 4 × AMD FX(tm)-9590 Eight-Core Processor
Memory: 22,4 ГиБ
Comment 2 Yaroslav Sidlovsky 2020-03-20 08:25:16 UTC
All required debug packages has been installed but still Dr.Konqi reports that it's not enough.
Comment 3 Yaroslav Sidlovsky 2020-03-20 17:29:20 UTC
When I run "kcmshell5 kcm_translations" in the console I see following errors:

file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:128:13: QML ColumnLayout: Cannot anchor to an item that isn't a parent or sibling.
file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:39: TypeError: Cannot read property 'LanguageCode' of null
file:///usr/share/kpackage/kcms/kcm_translations/contents/ui/main.qml:43: TypeError: Cannot read property 'display' of null
KCrash: Application 'kcmshell5' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__0
Comment 4 Norbert Preining 2020-03-27 08:16:53 UTC
Just to chime in, same here on home-compiled packages on Debian/sid.

I am using en_US as locale, so it is not depending on that.

I tried to start each kcm manually, which worked, but loading it from the systemsettings5 application failed. (Loop over all modules given by kcmshell5 --list and start the manually ... that is all fine!)

Any help would be appreciated. I add the crash report I got.
Comment 5 Norbert Preining 2020-03-27 08:17:51 UTC
Created attachment 127041 [details]
kcrash save Debian/sid
Comment 6 Norbert Preining 2020-03-27 08:20:04 UTC
One more comment: it seems to be a problem with kcm_translations! If I remove/rename the kcm_translations.so module, then systemsettings5 does NOT crash, shows a missing module warning in the Translation tab, but the others can be used.

This reduces the culprit considerably I think.
Comment 7 Vasiliy Glazov 2020-04-06 10:22:30 UTC
Same on Fedora 32, Plasma 5.18.4.
Comment 8 Yaroslav Sidlovsky 2020-04-06 10:26:41 UTC
One more thing.
If I run in the console "LANG=C kcmshell5 kcm_translation" - I see no crashes.
Running "kcmshell5 kcm_translations" gives me constant crashes.
Comment 9 David Edmundson 2020-04-06 11:42:18 UTC
*** Bug 419261 has been marked as a duplicate of this bug. ***
Comment 10 David Edmundson 2020-04-06 11:42:50 UTC
*** Bug 404518 has been marked as a duplicate of this bug. ***
Comment 11 David Edmundson 2020-04-06 11:55:17 UTC
One of the linked reports claims

>weirdly the crash is happening again when I add a CJK language at the bottom of the list. :(

Could someone try and get me some reliable 100% reproducible steps, ideally from a clean VM image.

The crash trace alone isn't proving super helpful, it's deep in Qt.
Comment 12 Nate Graham 2020-04-15 02:56:33 UTC
*** Bug 419406 has been marked as a duplicate of this bug. ***
Comment 13 Nate Graham 2020-04-15 02:56:39 UTC
*** Bug 419329 has been marked as a duplicate of this bug. ***
Comment 14 Nate Graham 2020-04-15 02:59:15 UTC
Bug 419329 has some clues. Apparently this is caused by 
https://cgit.kde.org/kirigami.git/commit/?id=9b7cae898ed7d9b58e65035b8216ec6ff78bfa17. I can't reproduce it though.
Comment 15 Yaroslav Sidlovsky 2020-04-15 07:28:00 UTC
(In reply to Nate Graham from comment #14)
> Bug 419329 has some clues. Apparently this is caused by 
> https://cgit.kde.org/kirigami.git/commit/
> ?id=9b7cae898ed7d9b58e65035b8216ec6ff78bfa17. I can't reproduce it though.

Nice! Reverting this commit actually helps!
Thanks for investigating :)
Comment 16 David Edmundson 2020-04-15 07:39:36 UTC
@yarloslav as you're compiling and can reproduce it, could you reapply that diff and change

    connect(filter, &LanguageChangeEventFilter::languageChangeEvent, this, &KirigamiPlugin::languageChangeEvent);

to 

    connect(filter, &LanguageChangeEventFilter::languageChangeEvent, this, &KirigamiPlugin::languageChangeEvent, Qt::QueuedConnection);
Comment 17 David Edmundson 2020-04-15 07:40:12 UTC
*Yaroslav
Comment 18 Yaroslav Sidlovsky 2020-04-15 07:45:16 UTC
Sure. One moment.
Comment 19 Yaroslav Sidlovsky 2020-04-15 07:54:43 UTC
Adding argument Qt::QueuedConnection to the connect doesn't seem to help, I still see crashes.
Comment 20 Oleg Solovyov 2020-04-29 18:36:32 UTC
(In reply to Nate Graham from comment #14)
> Bug 419329 has some clues. Apparently this is caused by 
> https://cgit.kde.org/kirigami.git/commit/
> ?id=9b7cae898ed7d9b58e65035b8216ec6ff78bfa17. I can't reproduce it though.

Confirm, reverting that commit helps.
Comment 21 Thorsten Oppels 2020-05-14 08:24:02 UTC
(In reply to Yaroslav Sidlovsky from comment #8)
> One more thing.
> If I run in the console "LANG=C kcmshell5 kcm_translation" - I see no
> crashes.

But it is not possible to add any additional language there. It is able to choose a language from the drop-down list, but the list did not get the setting.
Comment 22 Yaroslav Sidlovsky 2020-05-14 08:30:17 UTC
(In reply to Thorsten Oppels from comment #21)
> (In reply to Yaroslav Sidlovsky from comment #8)
> > One more thing.
> > If I run in the console "LANG=C kcmshell5 kcm_translation" - I see no
> > crashes.
> 
> But it is not possible to add any additional language there. It is able to
> choose a language from the drop-down list, but the list did not get the
> setting.

Strange, but it's working fine on my system. Just added "Deutsch" to the list.
Comment 23 Thorsten Oppels 2020-05-14 09:01:52 UTC
Am 14.05.20 um 10:30 schrieb Yaroslav Sidlovsky:
> https://bugs.kde.org/show_bug.cgi?id=419008
>
> --- Comment #22 from Yaroslav Sidlovsky <zawertun@gmail.com> ---
> (In reply to Thorsten Oppels from comment #21)
>> (In reply to Yaroslav Sidlovsky from comment #8)
>>> One more thing.
>>> If I run in the console "LANG=C kcmshell5 kcm_translation" - I see no
>>> crashes.
>>
>> But it is not possible to add any additional language there. It is able to
>> choose a language from the drop-down list, but the list did not get the
>> setting.
>
> Strange, but it's working fine on my system. Just added "Deutsch" to the list.

Get the newest build today (from openSUSE-current) but the issues (crash
when call via system-settings and does not add the additional languge
when call via kcm_translations) persit.
Comment 24 Patrick Silva 2020-05-14 10:15:51 UTC
(In reply to Thorsten Oppels from comment #21)
> But it is not possible to add any additional language there. It is able to
> choose a language from the drop-down list, but the list did not get the
> setting.

possibly because bug 419691
Comment 25 harry66 2020-06-19 09:58:45 UTC
Created attachment 129518 [details]
New crash information added by DrKonqi

systemsettings5 (5.18.5) using Qt 5.12.7

- What I was doing when the application crashed:
systemsettings chrashes (segementaion fault) after clicking on "Country/Region & Language"

-- Backtrace (Reduced):
#4  0x00007f250b1182fe in QQmlData::wasDeleted(QObject const*) (object=0x5604022c09a0) at /usr/src/debug/libqt5-qtdeclarative-5.12.7-lp152.2.2.x86_64/include/QtQml/5.12.7/QtQml/private/../../../../../src/qml/qml/qqmldata_p.h:338
#5  0x00007f250b1182fe in QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) (engine=engine@entry=0x5603ff34c460, object=0x5604022c09a0) at /usr/src/debug/libqt5-qtdeclarative-5.12.7-lp152.2.2.x86_64/include/QtQml/5.12.7/QtQml/private/../../../../../src/qml/jsruntime/qv4qobjectwrapper_p.h:215
#6  0x00007f250b1b673c in QV4::ExecutionEngine::fromVariant(QVariant const&) (this=this@entry=0x5603ff34c460, variant=...) at /usr/src/debug/libqt5-qtdeclarative-5.12.7-lp152.2.2.x86_64/src/qml/jsruntime/qv4engine.cpp:1514
#7  0x00007f250b115be6 in searchContextProperties(QV4::ExecutionEngine*, QQmlContextData*, QV4::String*, bool*, QV4::Value*, QV4::Lookup*, QV4::Lookup*, QQmlEnginePrivate*) (v4=v4@entry=0x5603ff34c460, context=context@entry=0x5604022c76f0, name=<optimized out>, hasProperty=hasProperty@entry=0x7fff72b60d77, base=base@entry=0x0, lookup=lookup@entry=0x0, originalLookup=<optimized out>, ep=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.12.7-lp152.2.2.x86_64/src/qml/jsruntime/qv4qmlcontext.cpp:126
#8  0x00007f250b116a75 in QV4::QQmlContextWrapper::getPropertyAndBase(QV4::QQmlContextWrapper const*, QV4::PropertyKey, QV4::Value const*, bool*, QV4::Value*, QV4::Lookup*) (resource=<optimized out>, id=..., receiver=receiver@entry=0x0, hasProperty=hasProperty@entry=0x7fff72b60d77, base=base@entry=0x0, lookup=0x0, lookup@entry=0x5603ff71f920) at /usr/src/debug/libqt5-qtdeclarative-5.12.7-lp152.2.2.x86_64/src/qml/jsruntime/qv4qmlcontext.cpp:274
Comment 26 Wolfgang Bauer 2020-06-19 14:03:13 UTC
*** Bug 423220 has been marked as a duplicate of this bug. ***
Comment 27 Wolfgang Bauer 2020-06-24 07:18:24 UTC
*** Bug 421551 has been marked as a duplicate of this bug. ***
Comment 28 Yaroslav Sidlovsky 2020-07-14 20:19:55 UTC
Can't reproduce this bug anymore (Plasma-5.19.3, KF-5.72.0).
Can someone recheck it?
Comment 29 Nate Graham 2020-07-15 02:37:55 UTC
Works for me too, but I was never able to reproduce the crash in the first place.

Can you still reproduce with Plasma 5.19.3 nd Frameworks 5.72, Zhonghua, Norbert, Vasily, Oleg, or Thorsten?
Comment 30 Norbert Preining 2020-07-15 02:43:58 UTC
No, with my 5.19.3 packages I cannot reproduce this anymore.
Comment 31 Nate Graham 2020-07-15 03:04:26 UTC
Fantastic news! Thanks folks.
Comment 32 David Edmundson 2020-07-15 09:00:06 UTC
>No, with my 5.19.3 packages I cannot reproduce this anymore.

I strongly expect it's from either a Qt or frameworks change rather than Plasma, but good to know.
Comment 33 Wolfgang Bauer 2020-08-15 18:07:26 UTC
Well, the crash apparently only occured with Qt 5.13 or lower, as mentioned in bug#404518#c20 .
But Plasma 5.19 requires Qt 5.14 as minimum anyway, so it's no wonder why it's not reproducible with that version anymore.

Although I don't know about Qt 5.12.9, the last one I tried was 5.12.7 (as shipped in openSUSE Leap 15.2) where it did still crash. (until the kirigami change was reverted in the distribution package to avoid this crash)