Bug 8889 - (int-156089) New event in calendar causes crash when using bg_BG locales
(int-156089)
: New event in calendar causes crash when using bg_BG locales
Status: RESOLVED FIXED
Product: Calendar
General
: 5.0/(3.2010.02-8)
: N900 Maemo
: Unspecified major (vote)
: 5.0/(10.2010.19-1)
Assigned To: unassigned
: calendar-general-bugs
:
: crash
:
:
  Show dependency tree
 
Reported: 2010-02-07 14:16 UTC by Todor Tsankov
Modified: 2010-03-15 20:51 UTC (History)
1 user (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Todor Tsankov (reporter) 2010-02-07 14:16:52 UTC
SOFTWARE VERSION:
Nokia N900
Maemo 5
Version: 2.2009.51-1

EXACT STEPS LEADING TO PROBLEM: 
1. Add the Bulgarian language to the device languages using X terminal:
$ sudo gainroot
# add_remove_language add bg_BG

2. (Optional) Copy any localized .mo files to /usr/share/locale/bg/LC_MESSAGES/
or copy the default ones from /usr/share/locale/en_GB/LC_MESSAGES/
# mkdir -p /usr/share/locale/bg/LC_MESSAGES/
# cp /usr/share/local/en_GB/LC_MESSAGES/*.mo /usr/share/locale/bg/LC_MESSAGES/

3. Start the settings application and select "Language & region"
4. Set both "Device Language" and "Regional Settings" to Bulgarian.
5. Reboot the device
6. Start Calendar application. Click "New Event"

EXPECTED OUTCOME:
The New event dialog shows and new events can be added,

ACTUAL OUTCOME:
The Calendar application closes with an "Internal Error. Application 'Calendar'
closed"

REPRODUCIBILITY:
ALWAYS

EXTRA SOFTWARE INSTALLED:
This is the output of:
dpkg-query -W -f='${Package}-${Version} ${Status} ${Section}\n' | grep
installed | grep user | sed 's/install ok.*//'

3g2g-mode-selection-applet-0.4 
account-plugin-butterfly-0.8 
account-plugin-haze-0.8 
account-plugin-salut-0.8 
angrybirds-1.1.0 
catorise-0.7.4 
conky-1.6.1-0maemo5-1.1 
countdowntimer-0.5-2 
cpumem-applet-0.0.3 
decoders-support-0.3.4-1 
fennec-1.0.0 
flashlight-applet-0.3-2 
fmradio-2010.01.15 
freoffice-0.2-1 
headphoned-1.6 
hermes-0.2.2 
kmplayer-0.10.3-1 
maemo-geolocation-1.1.3-1 
maepad-1.0 
mp-fremantle-generic-pr-2.2009.51-1 
mplayer-1.0svn20091221-4 
ogg-support-1.0.5 
omweather-0.24.12 
omweather-weather-com-stations-db-0.9.12 
openssh-1:5.1p1-6.maemo5 
openssh-client-1:5.1p1-6.maemo5 
openssh-server-1:5.1p1-6.maemo5 
personal-gprs-mon-0.5-5 
purple-extra-protocols-2.6.3-6nix0 
rootsh-1.5 
sharing-service-pixelpipe-1.1.00.4 
simple-brightness-applet-1.1-1maemo0 
simple-fmtx-widget-0.3.0 
telepathy-extras-0.8 
thai-ttf-0.4.13-1 
tickstill-1.0.4 
ttf-droid-1.01-dfsg0maemo3 
tunewiki-community-1.0.4 
ukeyboard-2.1-1 
xulrunner-1.9.2.1+rc1

OTHER COMMENTS:
We were able to identify exactly what part of the localization triggers the
crash. It is related to the somehow with the definitions inside LC_TIME, which
is switched to bg_BG only if you set "Device Language" to Bulgarian. Thats why
this problem does not exist if you only set Regional settings to Bulgarian.
I think that this itself is a bug, as LC_TIME is part of the regional settings
and should be switched.
After the reboot when the LC_TIME in /etc/osso-af-init/locale is set to bg_BG
in X terminal:
#locale -k LC_TIME | grep d_fmt
d_fmt="%e.%m.%Y"

This is the definition that triggers the crash and more specificaly the %e part
of it. According to date man page:
"%e     day of month, space padded; same as %_d"
I was able to workaround this by modifying the /usr/lib/locale/locale-achive
with hex editor (I have no knowledge how to rebuild this file) found that
string and replaced it with standard %d. So after modifying the file the output
of "locale -k LC_TIME | grep d_fmt" looks like:
#locale -k LC_TIME | grep d_fmt
d_fmt="%d.%m.%Y"

If this could help - this definition also affects (crashes) Settings -> Date
and Time.

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.9
(KHTML, like Gecko) Chrome/5.0.307.5 Safari/532.9
Comment 1 Andre Klapper maemo.org 2010-02-09 01:12:02 UTC
Thanks for the perfect bug report!
Confirming also in the internal version 2010.05-4.
Comment 2 Andre Klapper maemo.org 2010-03-02 18:20:20 UTC
This has been fixed in package
libhildon 2.2.14-1+0m5
which is part of the internal build version
10.2010.08-14
(Note: 2009/2010 is the year, and the number after is the week.)

A future public update released with the year/week later than this internal
build version will include the fix. (This is not always already the next public
update.)
Please verify that this new version fixes the bug by marking this bug report as
VERIFIED after the public update has been released and if you have some time.


To answer popular followup questions:
 * Nokia does not announce release dates of public updates in advance.
 * There is currently no access to these internal, non-public build versions.
   A Brainstorm proposal to change this exists at
http://maemo.org/community/brainstorm/view/undelayed_bugfix_releases_for_nokia_open_source_packages-002/
Comment 3 Andre Klapper maemo.org 2010-03-15 20:51:30 UTC
Setting explicit PR1.2 milestone (so it's clearer in which public release the
fix will be available to users).

Sorry for the bugmail noise (you can filter on this message).