Bug 262488

Summary: Country/region and language crashes as soon as I try to start it
Product: [Applications] systemsettings Reporter: Jonas Thorell <jthorell>
Component: kcm_languageAssignee: John Layt <jlayt>
Status: RESOLVED FIXED    
Severity: crash CC: aleixq, alexdbars, antonio_romanos, artem, asheshenya, ashrader330, briceguido, buijert, cfeck, coolo, daniel.desse, denis.kot, DEZDEchado, f.leerink, fbijma, ferahgo.de, franciscoadriansanchez, gerhard.riener, gjwbugs, gvitalik, hara75gr, hopped, igor88, lucabs2112, maildebab, mastroragno, remur, rtguille, silviumc, tsewen_hong, utgarda, vassalli.max, vivek.ap, woland61, wstephenson, zarathustra
Priority: NOR    
Version: 1.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.6.4
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Jonas Thorell 2011-01-08 03:17:44 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.7-0.7-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
I was going to check my locale-settings to see if they're correct. System-settings launches as it should but the locale kcm-module immediately crashed when trying to use it.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
[KCrash Handler]
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2440
#9  0x00007f39b2129045 in KCMLocale::initAmPmSymbols (this=0xfa65a0) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2501
#10 0x00007f39b212f8c1 in KCMLocale::initSettingsWidgets (this=0xfa65a0) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:672
#11 0x00007f39b21307d5 in KCMLocale::load (this=0xfa65a0) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:423
#12 0x00007f39c7903f21 in KCModule::qt_metacall (this=0xfa65a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xf68e90) at /usr/src/debug/kdelibs-4.5.95/build/kdeui/kcmodule.moc:89
#13 0x00007f39b212fe80 in KCMLocale::qt_metacall (this=0xfa65a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xf68e90)
    at /usr/src/debug/kdebase-runtime-4.5.95/build/kcontrol/locale/kcmlocale.moc:201
#14 0x00007f39c5f91aba in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#15 0x00007f39c6bf7efd in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#16 0x00007f39c6ba6d44 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#17 0x00007f39c6baf24a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#18 0x00007f39c7806ec6 in KApplication::notify (this=0x7fff31580a20, receiver=0xfa65a0, event=0x106cfe0) at /usr/src/debug/kdelibs-4.5.95/kdeui/kernel/kapplication.cpp:311
#19 0x00007f39c5f7dc3c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#20 0x00007f39c5f81435 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#21 0x00007f39c5fa87d3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQtCore.so.4
#22 0x00007f39c3486a93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#23 0x00007f39c3487270 in ?? () from /usr/lib64/libglib-2.0.so.0
#24 0x00007f39c3487510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#25 0x00007f39c5fa896f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#26 0x00007f39c6c4bd9e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtGui.so.4
#27 0x00007f39c5f7d092 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#28 0x00007f39c5f7d2a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#29 0x00007f39c5f816eb in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#30 0x00000000004121f9 in main (argc=5, argv=0x7fff31580ce8) at /usr/src/debug/kdebase-workspace-4.5.95/systemsettings/app/main.cpp:49

This bug may be a duplicate of or related to bug 259790.

Possible duplicates by query: bug 259790.

Reported using DrKonqi
Comment 1 Christoph Feck 2011-01-08 04:00:02 UTC
The duplicate bug indicates that it could be caused by the (order of the) languages you are using. Can you show the contents of the [Locale] section from your .kde/share/config/kdeglobals file?
Comment 2 Jonas Thorell 2011-01-08 04:03:41 UTC
Sure, here it is:

[Locale]
Country=se
CurrencySymbol=SEK 
Language=en
Comment 3 John Layt 2011-01-08 05:17:29 UTC
I'm not near a machine where I can test this, but I suspect it's failing because en is not a valid KDE language, we support en_US or en_GB.  Could you try changing the Language=en to be Language=en_US and see if it works then?
Comment 4 Jonas Thorell 2011-01-08 05:36:31 UTC
That worked, yes! But not en_GB though. Still, that begs the question: if en on its own is an invalid language code, how could it get into that file in the first place? I certainly hasn't edited it by hand.
Comment 5 ferahgo.de 2011-01-08 15:51:08 UTC
Created attachment 55734 [details]
New crash information added by DrKonqi

kcmshell4 () on KDE Platform 4.5.95 (4.6 RC2) using Qt 4.7.1

Same here. Albeit for me, adding _GB to "en" in [Locale] did the trick :) And I sure didn't change that - it was a brandnew install of openSUSE 11.4 Factory..

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2440
#9  0x00007f629c1087d5 in KCMLocale::initAmPmSymbols (this=0x75d100) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2501
#10 0x00007f629c10b8e1 in KCMLocale::initSettingsWidgets (this=0x75d100) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:672
Comment 6 John Layt 2011-01-08 22:21:52 UTC
OK, so that suggests to me that it is crashing on language codes that are not installed, as opposed to invalid language codes.  I'll need to add some validation steps when using the language code there to ensure that it is installed (hmm, we already validate it later on, I'll just need to move the validation earlier?).

As for how it is getting set to "en", I believe the only place in KDE that sets the Language in the users settings file is the kcm, and the kcm only displays and saves installed language codes, even going to the extent to remove from the Language setting any languages that are no longer installed.  Given both reports are for openSuse, and the second report is for a clean install never having run the kcm before, I wonder if openSuse try write the system language into the users settings file on first run to give them a "sensible" default?  In which case they are writing invalid values, and it's probably unnecessary as KLocale takes the system language into account when determining the language if none is set in KDE.  Guess I'll need to chat to the openSuse guys about that.

Random thought: Perhaps the KCM/KLocale needs to be more forgiving and interpret "en" to mean "en_US".
Comment 7 Gordon 2011-01-10 16:10:55 UTC
Created attachment 55827 [details]
New crash information added by DrKonqi

kcmshell4 () on KDE Platform 4.5.95 (4.6 RC2) using Qt 4.7.1

- What I was doing when the application crashed: 
I clicked on Locale in system setting or tried to start it from krunner. Each time it crashed.

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2440
#9  0x00007f73fe45a7d5 in KCMLocale::initAmPmSymbols (this=0x816f00) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2501
#10 0x00007f73fe45d8e1 in KCMLocale::initSettingsWidgets (this=0x816f00) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:672
Comment 8 zarathustra 2011-01-25 13:20:01 UTC
Created attachment 56414 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.5.95 (4.6 RC2) using Qt 4.7.1

- What I was doing when the application crashed:

After fresh reboot i started Locale. The app crashed immediately and everytime since. Prior to opening i upgraded to KDE4.6 from the Opensuse Factory repo. rebooted before opening Locale.

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2440
#9  0x00007f2e819b0045 in KCMLocale::initAmPmSymbols (this=0x999ce0) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2501
#10 0x00007f2e819b68c1 in KCMLocale::initSettingsWidgets (this=0x999ce0) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:672
Comment 9 Luca 2011-01-27 22:06:53 UTC
For me too!
KDE 4.6 Kubuntu 10.10 kernel 2.6.35-25-generic 64-bit

I just start "system-settings" and click on "Locale (Country/Region & Language, Spell Checker)" and "System-settings" crashed everytime!

Thank you
Comment 10 tris 2011-01-28 12:27:20 UTC
Created attachment 56565 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.2

- What I was doing when the application crashed:
run systemsettings and open Locale

.kde4/share/config/kdeglobals
[Locale]
Country=us
Language=en

-- Backtrace (Reduced):
#7  ref (this=0x826ab88, dayPeriod=...) at /usr/include/QtCore/qatomic_i386.h:120
#8  QString (this=0x826ab88, dayPeriod=...) at /usr/include/QtCore/qstring.h:729
#9  KCMLocale::dayPeriodText (this=0x826ab88, dayPeriod=...) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#10 0xb2549c7b in KCMLocale::initAmPmSymbols (this=0x826ab88) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#11 0xb2551648 in KCMLocale::initSettingsWidgets (this=0x826ab88) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 11 Denis 2011-01-28 13:51:20 UTC
Created attachment 56570 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.0

- What I was doing when the application crashed:
Just tried to click on Locale at System Settings

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qstring.h:728
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at ../../../kcontrol/locale/kcmlocale.cpp:2504
#9  0x00007fe87ea093c9 in KCMLocale::initAmPmSymbols (this=0xda4ba0) at ../../../kcontrol/locale/kcmlocale.cpp:2565
#10 0x00007fe87ea168c1 in KCMLocale::initSettingsWidgets (this=0xda4ba0) at ../../../kcontrol/locale/kcmlocale.cpp:678
Comment 12 Denis 2011-01-28 14:12:43 UTC
I had Language=ru. Changing it to ru_RU didn't help. Changed it to en_US and was able to run Locale. Added russian as firs language and now this line looks like this: Language=ru:en_US
Comment 13 Kresten Peter Vester 2011-02-03 08:39:15 UTC
Created attachment 56815 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) "release 375" using Qt 4.7.1

Just open the configuration dialog and clicked the Locale option (running KDE46 installed fromhttp://download.opensuse.org/repositories/KDE:/Release:/46/openSUSE_11.3/ )

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f14db0a3375 in KCMLocale::initAmPmSymbols (this=0x8f6290) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f14db0a9bc1 in KCMLocale::initSettingsWidgets (this=0x8f6290) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 14 HarrisP 2011-02-04 16:26:53 UTC
Created attachment 56857 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) "release 376" using Qt 4.7.1

- What I was doing when the application crashed:

can't open the locale settings(crashes all the time)

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007face638c375 in KCMLocale::initAmPmSymbols (this=0xd41ce0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007face6392bc1 in KCMLocale::initSettingsWidgets (this=0xd41ce0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 15 Adam Shrader 2011-02-05 07:27:38 UTC
Created attachment 56877 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1

- What I was doing when the application crashed:

I opened the "Personal Settings" window in OpenSUSE 11.3 KDE 4.6.0 and clicked the Locale icon and it crashes everytime.

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f3540852375 in KCMLocale::initAmPmSymbols (this=0x9d91e0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f3540858bc1 in KCMLocale::initSettingsWidgets (this=0x9d91e0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 16 Silviu Marin-Caea 2011-02-07 06:48:59 UTC
Created attachment 56935 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.5.95 (4.6 RC2) using Qt 4.7.1

- What I was doing when the application crashed:

Opening Locale Setting from KDE Control Panel in a fresh openSUSE 11.4 Factory install, with the default language (English)

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2440
#9  0x00007f0f1ee197d5 in KCMLocale::initAmPmSymbols (this=0x913210) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:2501
#10 0x00007f0f1ee1c8e1 in KCMLocale::initSettingsWidgets (this=0x913210) at /usr/src/debug/kdebase-runtime-4.5.95/kcontrol/locale/kcmlocale.cpp:672
Comment 17 John Layt 2011-02-07 20:21:56 UTC
For all new bug reports, please state the following:
1) Distro and version
2) If this is with a fresh install of the distro (state medium, live CD or install DVD?), or upgrading an old install (state original install version and media if possible)
3) What language you set the system language to in the distro installer
4) the contents of ~/.kde4/share/config/kdeglobals (or just .kde) [Locale] section

To work around the problem:
1) Edit ~/.kde4/share/config/kdeglobals (or just .kde) and remove the Language= line
2) Run the module and set your languages correctly

Basically I can patch to stop the crash in 4.6.1, but I also need info to track down where the rouge language codes are coming from.
Comment 18 kinta 2011-02-08 12:46:24 UTC
Created attachment 56985 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.0

- What I was doing when the application crashed:

Opened the locale module in system settings after uninstalling language package. The workaround mentioned solves the problem.

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qstring.h:728
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at ../../../kcontrol/locale/kcmlocale.cpp:2504
#9  0x00007f687389f3c9 in KCMLocale::initAmPmSymbols (this=0x269f900) at ../../../kcontrol/locale/kcmlocale.cpp:2565
#10 0x00007f68738ac8c1 in KCMLocale::initSettingsWidgets (this=0x269f900) at ../../../kcontrol/locale/kcmlocale.cpp:678
Comment 19 Will Stephenson 2011-02-10 22:13:18 UTC
The code in /usr/share/kde4/env/startkde.suse.sh that put the rogue language codes in kdeglobals has been removed for 11.4RC2 and in the KDE:Distro:Factory repo.

Workaround: remove Language and Country fields from kdeglobals
Comment 20 Евгений Цвигун 2011-02-11 00:02:59 UTC
Created attachment 57133 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1

- What I was doing when the application crashed: opened 'system settings' then locale settings

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f56c2b80575 in KCMLocale::initAmPmSymbols (this=0x92f9a0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f56c2b86b31 in KCMLocale::initSettingsWidgets (this=0x92f9a0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 21 Arjon 2011-02-13 17:13:17 UTC
Created attachment 57215 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1

system crashes after trying to open the location settings

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007fe81d035575 in KCMLocale::initAmPmSymbols (this=0x97c6b0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007fe81d03bb31 in KCMLocale::initSettingsWidgets (this=0x97c6b0) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 22 Frans Leerink 2011-02-15 15:22:53 UTC
Created attachment 57277 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1

- What I was doing when the application crashed:

I opened configure desktop and cliked on Locale and the configure desktop application crashed.

This is on a fresh install of openSUSE 11.1 DVD Build 1056-i586.iso downloaded sunday  13 feb.

-- Backtrace (Reduced):
#7  ref (this=0x8279478, dayPeriod=...) at /usr/include/QtCore/qatomic_i386.h:120
#8  QString (this=0x8279478, dayPeriod=...) at /usr/include/QtCore/qstring.h:729
#9  KCMLocale::dayPeriodText (this=0x8279478, dayPeriod=...) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#10 0xb1db3c7b in KCMLocale::initAmPmSymbols (this=0x8279478) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#11 0xb1dbb3c8 in KCMLocale::initSettingsWidgets (this=0x8279478) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 23 Frans Leerink 2011-02-15 15:32:45 UTC
Sorry,

In comment 22 the line:

This is on a fresh install of openSUSE 11.1 DVD Build 1056-i586.iso downloaded
sunday  13 feb.

should be read

This is on a fresh install of openSUSE 11.4 (RC1) DVD Build 1056-i586.iso downloaded sunday  13 feb.

Regards, Frans
Comment 24 igor88 2011-02-18 17:06:42 UTC
Created attachment 57354 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1

This is on a fresh install of openSUSE 11.4 (RC1) LiveCD Build 1056-x86_64.iso.
I set the system language to English (US) in the distro installer.
There is no [Locale] section in kdeglobals.

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007fa0a9de0575 in KCMLocale::initAmPmSymbols (this=0xba7d80) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007fa0a9de6b31 in KCMLocale::initSettingsWidgets (this=0xba7d80) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 25 Евгений Цвигун 2011-02-24 20:18:03 UTC
Created attachment 57506 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.00 (4.6.0) "release 6" using Qt 4.7.1

- What I was doing when the application crashed: opened kde settings, opened locale settings

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007fc76fca8575 in KCMLocale::initAmPmSymbols (this=0x906110) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007fc76fcaeb31 in KCMLocale::initSettingsWidgets (this=0x906110) at /usr/src/debug/kdebase-runtime-4.6.0/kcontrol/locale/kcmlocale.cpp:674
Comment 26 John Layt 2011-02-25 11:23:01 UTC
*** Bug 267120 has been marked as a duplicate of this bug. ***
Comment 27 Stephan Kulow 2011-02-27 10:48:23 UTC
I applied this to the suse packages:

 QString KCMLocale::dayPeriodText( const QString &dayPeriod )
 {
-    return dayPeriod.split( QChar::fromLatin1(',') ).at( 2 );
+    QStringList split = dayPeriod.split( QChar::fromLatin1(',') );
+    if (split.size() > 1)
+       return split.at( 2 );
+    else
+       return QString::null;
 }
Comment 28 Christoph Feck 2011-02-27 12:56:02 UTC
Stephan, this patch seems wrong, because at() indexes start with 0.
Comment 29 Stephan Kulow 2011-02-27 13:02:27 UTC
> 2 you mean?
Comment 30 Christoph Feck 2011-02-27 13:09:50 UTC
Yes, at(2) will get the third entry, so the size must be > 2. I don't know the definition of the dayPeriod, but maybe the intention was to get the second entry? Ask John :)
Comment 31 Gerhard Riener 2011-03-14 22:38:25 UTC
Created attachment 58006 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.41 (4.7 >= 20110106) "release 2" using Qt 4.7.2

- What I was doing when the application crashed:
 
Opening locale settings happens everytime

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/src/debug/kde-runtime-4.6.41_20110213/kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f2f869bb575 in KCMLocale::initAmPmSymbols (this=0xabf190) at /usr/src/debug/kde-runtime-4.6.41_20110213/kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f2f869c1b31 in KCMLocale::initSettingsWidgets (this=0xabf190) at /usr/src/debug/kde-runtime-4.6.41_20110213/kcontrol/locale/kcmlocale.cpp:674
Comment 32 Christoph Feck 2011-03-19 01:07:45 UTC
*** Bug 268848 has been marked as a duplicate of this bug. ***
Comment 33 Christoph Feck 2011-03-30 21:16:45 UTC
*** Bug 269712 has been marked as a duplicate of this bug. ***
Comment 34 Woland61 2011-04-05 20:06:10 UTC
Created attachment 58608 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.1 (4.6.1) using Qt 4.7.2

- What I was doing when the application crashed:

crash sdfsdfsdfsdfsdfsdfsdfsdfsdfsdf

-- Backtrace (Reduced):
#7  ref (this=0xa12d048, dayPeriod=...) at /usr/include/qt4/QtCore/qatomic_i386.h:120
#8  QString (this=0xa12d048, dayPeriod=...) at /usr/include/qt4/QtCore/qstring.h:729
#9  KCMLocale::dayPeriodText (this=0xa12d048, dayPeriod=...) at ../../../kcontrol/locale/kcmlocale.cpp:2452
#10 0x03e7acb6 in KCMLocale::initAmPmSymbols (this=0xa12d048) at ../../../kcontrol/locale/kcmlocale.cpp:2513
#11 0x03e820aa in KCMLocale::initSettingsWidgets (this=0xa12d048) at ../../../kcontrol/locale/kcmlocale.cpp:674
Comment 35 fsanchez 2011-04-14 23:34:30 UTC
Created attachment 58988 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:
The same as the bug reports. Not very sure if I'm going to show anything new, but just if the case:

[Locale]
Country=ar
DateFormat=%A %d %B %Y
Language=es
WeekStartDay=7

En "es" isn't intalled at all actually

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at ../../../kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f605bf8698a in KCMLocale::initAmPmSymbols (this=0x1014fc0) at ../../../kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f605bf89cc1 in KCMLocale::initSettingsWidgets (this=0x1014fc0) at ../../../kcontrol/locale/kcmlocale.cpp:674
Comment 36 Dario Andres 2011-04-16 02:55:11 UTC
*** Bug 271055 has been marked as a duplicate of this bug. ***
Comment 37 daniel.desse 2011-05-10 13:48:28 UTC
Created attachment 59847 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:
Click on "System Settings" and then on "Locale"

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at ../../../kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f5a470d198a in KCMLocale::initAmPmSymbols (this=0x22a4730) at ../../../kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f5a470d4cc1 in KCMLocale::initSettingsWidgets (this=0x22a4730) at ../../../kcontrol/locale/kcmlocale.cpp:674
Comment 38 Christoph Feck 2011-05-14 15:11:55 UTC
John, can you review the patch at comment #27 including the followup comments? Comment #31 also happens on openSUSE, but I don't know if the reporter already had the patched version.
Comment 39 John Layt 2011-05-14 23:55:50 UTC
No, the patch merely treats a symptom and stops it crashing, the problem comes much earlier when invalid/not installed languages are not being removed from the users existing language list even though there is code supposed to do so.  I'm looking again, good time-filler during Eurovision voting :-)
Comment 40 John Layt 2011-05-15 02:34:23 UTC
Git commit ce90528a75e8a8a1a4ed695ae6a2d034a08a890a by John Layt.
Committed on 15/05/2011 at 02:28.
Pushed by jlayt into branch 'KDE/4.6'.

Fix KCM Locale crash when invalid language codes in kdeglobals

The check for invalid or uninstalled language codes was not happening
early enough as the language code was being used in the initial merge
resulting in a null config which later crashed the am/pm init.
BUG: 262488
FIXED-IN: 4.6.4

M  +34   -35   kcontrol/locale/kcmlocale.cpp     

http://commits.kde.org/kde-runtime/ce90528a75e8a8a1a4ed695ae6a2d034a08a890a
Comment 41 John Layt 2011-05-15 02:39:23 UTC
Git commit 18272f27c611b20cbeaf7f23beafe86cd9eb7fcc by John Layt.
Committed on 15/05/2011 at 02:28.
Pushed by jlayt into branch 'master'.

Fix KCM Locale crash when invalid language codes in kdeglobals

The check for invalid or uninstalled language codes was not happening
early enough as the language code was being used in the initial merge
resulting in a null config which later crashed the am/pm init.

CCBUG: 262488

(cherry picked from commit ce90528a75e8a8a1a4ed695ae6a2d034a08a890a)

M  +34   -35   kcontrol/locale/kcmlocale.cpp     

http://commits.kde.org/kde-runtime/18272f27c611b20cbeaf7f23beafe86cd9eb7fcc
Comment 42 Christoph Feck 2011-05-29 12:27:36 UTC
*** Bug 274410 has been marked as a duplicate of this bug. ***
Comment 43 Christoph Feck 2011-06-18 17:21:28 UTC
*** Bug 275984 has been marked as a duplicate of this bug. ***
Comment 44 Reartes Guillermo 2011-06-18 18:18:00 UTC
275984 was marked as a duplicate of this one. (RESOLVED)

# cat ~/.kde/share/config/kdeglobals 

[Locale]
Country=ar
DateFormat=%A %d %B %Y
Language=es

I checked and found that the locale package was not installed. Probably a typo when i installed a lot of packages and did not notice it ended being not installed. I tested it after installing it and the locale tab did not crash.
Comment 45 Christoph Feck 2011-07-07 00:50:44 UTC
*** Bug 277252 has been marked as a duplicate of this bug. ***
Comment 46 Christoph Feck 2011-07-27 07:07:02 UTC
*** Bug 278590 has been marked as a duplicate of this bug. ***
Comment 47 Christoph Feck 2011-07-31 23:33:44 UTC
*** Bug 278970 has been marked as a duplicate of this bug. ***
Comment 48 Vivek 2011-08-14 00:52:04 UTC
Created attachment 62815 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.7.00 (4.7.0) "release 6" using Qt 4.7.3

- What I was doing when the application crashed:

Locale crashes as soon as I try to open it, either from System Settings or the command "kcmshell4 language", as with bug 262488.  

I've tried to work-around this problem by editing the kdeglobals (changing [Locale] Language=en" to en_US and en_GB, but Locale settings still crash when opening.  I'm reporting this bug in case it's a recurrence in KDE 4.7, but it's entirely possible (likely?) that it's an upgrade error on my computer.

-- Backtrace (Reduced):
#6  0x00007ff10bfd3f50 in KCMLocale::dayPeriodText(QString const&) () from /usr/lib64/kde4/kcm_locale.so
#7  0x00007ff10bfd8675 in KCMLocale::initAmPmSymbols() () from /usr/lib64/kde4/kcm_locale.so
#8  0x00007ff10bfe8c51 in KCMLocale::initSettingsWidgets() () from /usr/lib64/kde4/kcm_locale.so
#9  0x00007ff10bfe9d88 in KCMLocale::load() () from /usr/lib64/kde4/kcm_locale.so
#10 0x00007ff11e313ce1 in KCModule::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkdeui.so.5
Comment 49 Toni Romanos 2011-09-28 21:16:25 UTC
Created attachment 64054 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:
I've tried to access to locale applet several times with the same result.

-- Backtrace (Reduced):
#6  ref (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (this=<value optimized out>, dayPeriod=<value optimized out>) at /usr/include/qt4/QtCore/qstring.h:729
#8  KCMLocale::dayPeriodText (this=<value optimized out>, dayPeriod=<value optimized out>) at ../../../kcontrol/locale/kcmlocale.cpp:2452
#9  0x00007f104470d98a in KCMLocale::initAmPmSymbols (this=0x10ba8b0) at ../../../kcontrol/locale/kcmlocale.cpp:2513
#10 0x00007f1044710cc1 in KCMLocale::initSettingsWidgets (this=0x10ba8b0) at ../../../kcontrol/locale/kcmlocale.cpp:674
Comment 50 Chao Feng 2014-07-05 05:56:03 UTC
*** Bug 288450 has been marked as a duplicate of this bug. ***