! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Orage 4.5.14.0 aborts when viewing selected date
Status:
CLOSED: INVALID

Comments

Description Jan Hruban 2008-12-10 11:50:25 CET
When I set locale (specifically LC_TIME) to cs_CZ, run Orage and and view some selected date, Orage aborts and following error shows up in terminal:

** ERROR **: Orage: orage_i18_date_to_tm_date wrong format (10.12.2008)
aborting...
Aborted

gdb backtrace:
#0  0x00007fc5a8c593c5 in raise () from /lib/libc.so.6
#1  0x00007fc5a8c5a73e in abort () from /lib/libc.so.6
#2  0x00007fc5a8fa4eb5 in g_logv () from /usr/lib/libglib-2.0.so.0
#3  0x00007fc5a8fa4f38 in g_log () from /usr/lib/libglib-2.0.so.0
#4  0x00000000004196ba in orage_i18_date_to_tm_date (i18_date=0x9b1f70 "10.12.2008") at functions.c:319
#5  0x0000000000417708 in refresh_el_win (el=0x980120) at event-list.c:575
#6  0x0000000000418a09 in create_el_win (start_date=0x0) at event-list.c:1346
#7  0x00007fc5a9249955 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8  0x00007fc5a9257e36 in ?? () from /usr/lib/libgobject-2.0.so.0
#9  0x00007fc5a92590b3 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#10 0x00007fc5a925927e in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0x00007fc5aaf13f43 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x00007fc5aafc14c5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x00007fc5a9249955 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#14 0x00007fc5a9258227 in ?? () from /usr/lib/libgobject-2.0.so.0
#15 0x00007fc5a9258e81 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#16 0x00007fc5a925927e in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0x00007fc5ab0b2a2d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x00007fc5aafbc22d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x00007fc5aafbcf8a in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#20 0x00007fc5aaa3236e in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#21 0x00007fc5a8f9cbbf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0x00007fc5a8f9fadd in ?? () from /usr/lib/libglib-2.0.so.0
#23 0x00007fc5a8f9fe2d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#24 0x00007fc5aafbd2ff in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x0000000000429082 in main (argc=1, argv=0x7fffb38752c8) at main.c:490



Output of `locale':
LANG=en_US.UTF-8
LC_CTYPE=cs_CZ.UTF-8
LC_NUMERIC=cs_CZ.UTF-8
LC_TIME=cs_CZ.UTF-8
LC_COLLATE=cs_CZ.UTF-8
LC_MONETARY=cs_CZ.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=cs_CZ.UTF-8
LC_NAME=cs_CZ.UTF-8
LC_ADDRESS=cs_CZ.UTF-8
LC_TELEPHONE=cs_CZ.UTF-8
LC_MEASUREMENT=cs_CZ.UTF-8
LC_IDENTIFICATION=cs_CZ.UTF-8
LC_ALL=


Version of glibc:
2.6.1

When I set LC_TIME to some other locale (C, en_US), Orage works properly.

Might be, that this is a bug in glibc locale handling..
Comment 1 juha editbugs 2008-12-10 14:12:14 CET
Is it the same if you set 
export LANG=cs_CZ.UTF-8
also?
Why do you have that differently than the other settings?

What do you get if you do:
date +%x

Can you compile and run if I create you a small c program to test the 
language settings?
Comment 2 Jan Hruban 2008-12-10 16:41:53 CET
I've tried this:

hrubi@janhruban ~ $ export LC_ALL=cs_CZ.UTF-8 LANG=cs_CZ.UTF-8
hrubi@janhruban ~ $ locale
LANG=cs_CZ.UTF-8
LC_CTYPE="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_PAPER="cs_CZ.UTF-8"
LC_NAME="cs_CZ.UTF-8"
LC_ADDRESS="cs_CZ.UTF-8"
LC_TELEPHONE="cs_CZ.UTF-8"
LC_MEASUREMENT="cs_CZ.UTF-8"
LC_IDENTIFICATION="cs_CZ.UTF-8"
LC_ALL=cs_CZ.UTF-8
hrubi@janhruban ~ $ orage 

** (orage:17691): WARNING **: Failed to connect to the D-BUS session bus: Failed to connect to socket /tmp/dbus-LamykVLx6N: Spojení odmítnuto

** (orage:17691): WARNING **: Default timezone set to floating. Do not use timezones when setting appointments, it does not make sense without proper local timezone.

** (orage:17691): CRITICAL **: convert_to_timezone: builtin timezone Central Europe Standard Time not found, conversion failed.

** (orage:17691): CRITICAL **: convert_to_timezone: builtin timezone Central Europe Standard Time not found, conversion failed.
** Message: Orage **: Sestavit seznam výstrah: Přidáno 1 výstrah. Zpracováno 3 výstrah.
** Message: Orage **:   Bylo nalezeno 3 výstrah, z nichž 1 je aktivních. (Bylo prohledáno 104826 opakujících se výstrah.)

** ERROR **: Orage: orage_i18_date_to_tm_date wrong format (10.12.2008)
aborting...
Neúspěšně ukončen (SIGABRT)


So the result is the same. (If you wonder about custom locale settings, I just don't like czech speaking system, so LANG and LC_MESSAGES are set to en_US, but I want time, currentcy etc. to be in czech)



date +%x gives:
10.12.2008


I've tried custom program derived from orage piece of code:

#include <stdio.h>
#define __USE_XOPEN
#include <time.h>
#include <locale.h>

int main(void)
{
    //setlocale(LC_TIME, "sk_SK.UTF-8");
    setlocale(LC_TIME, "cs_CZ.UTF-8");

    struct tm tm_date = {0,0,0,0,0,0,0,0,0};
    const char *i18_date = "10.12.2008";

    if (strptime(i18_date, "%x", &tm_date) == NULL)
    {
        printf("error\n");
        return 1;
    }
    else
    {
        printf("success\n");
        return 0;
    }
}

It prints "error" cs_CZ.UTF-8 LC_CTIME. However if I comment the czech locale settings and supply it with slovak one (which date +%x is the same as czech) it prints out success.

So probably my thoughts about buggy glibc were right?


I'd be glad to further cooperate..
Comment 3 juha editbugs 2008-12-11 07:06:34 CET
Yes, this is clearly glibc problem.

I run your test program and it works in my environment with your locale.

I tested in Ubuntu 8.04, which has glibc 2.7.

Thanks for your effort, but I can not fix this, try to upgrade your system.
Comment 4 juha editbugs 2008-12-11 07:07:20 CET
glibc issue

Bug #4705

Reported by:
Jan Hruban
Reported on: 2008-12-10
Last modified on: 2009-01-24

People

CC List:
0 users

Version

Version:
unspecified

Attachments

Additional information