! 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 !
Crash after importing iCal from previous version of Orage
Status:
CLOSED: WORKSFORME

Comments

Description John 2012-12-04 22:16:48 CET
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Firefox/17.0
Build Identifier: orage version 4.8.3

The calendar part of Orage segfaults after importing an iCal file from a previous version of Orage. Erasing the data (.ics) file, makes Orage working
again.

I also tried, instead of importing, to just copy the data files. Same 
results. 

Suspecting a wrong iCal library, I checked the one installed. It is
0.48, which seems the last one available. ldd shows orage is in fact
using this library.

This is a major problem, as I don't have the original computer anymore,
just the data files, which I need for the exams over the next days... (I
know - this is typical)


Reproducible: Always

Steps to Reproduce:
1. Import .ics file
2. Wait
3. 
Actual Results:  
After import, Orage segfaults (see backtrace below)

Expected Results:  
Normal import & working Orage

orage --version, as installed from Slackware 14.0 package:

        This is orage version 4.8.3

        Released under the terms of the GNU General Public License.
        Compiled against GTK+-2.24.10, using GTK+-2.24.10.
        Using DBUS for import.
        Using libnotify.
        Using automatic archiving.
        Using operating system package libical.

Backtrace:
#0  0x00007ffff5c89801 in ?? () from /usr/lib64/libical.so.0
#1  0x00007ffff5c8a095 in ?? () from /usr/lib64/libical.so.0
#2  0x00007ffff5c8a35b in icaltimezone_get_utc_offset () from /usr/lib64/libical.so.0
#3  0x00007ffff5c8a72a in icaltimezone_convert_time () from /usr/lib64/libical.so.0
#4  0x00007ffff5c86e4d in icaltime_convert_to_zone () from /usr/lib64/libical.so.0
#5  0x00007ffff5c871f4 in icaltime_compare () from /usr/lib64/libical.so.0
#6  0x00007ffff5c83c68 in icalrecur_iterator_next () from /usr/lib64/libical.so.0
Comment 1 juha editbugs 2012-12-05 07:39:06 CET
Yes, this is major problem.
According to the backtrace it dies in libical code.

It is probably not easy to recompile using Orage internal libical? 
That might fix it. not sure. 

This is not generic, so it depends on data. Which basically means I need a test example, which shows this problem to fix this. (or to find a workaround as it seems to fail in libical.)

If you do not want to show your file publictly, feel free to send it to me directy. Unless you can find the problematic event and can reproduce this with test events?

It is one of the repeating appointments. Are you using archiving? Perhaps you missed the arch file?
Comment 2 John 2012-12-05 14:55:34 CET
> If you do not want to show your file publictly, feel free to send it to me directy. Unless you can find the problematic event and can reproduce this with test events?

I'll try to find where the problem is. The .ics is about 180 kB long, and the
problem appears after more than 170 events - so it's not easy to pinpoint
the exact spot.

> It is one of the repeating appointments. Are you using archiving? Perhaps you missed the arch file?

No idea which type yet. I'll gz the ics file. and send it to you. Tried several combinations of files, all result in the same.
I also made a diff between the original file, and the imported one - no difference at all.

I can easily recompile orage. I'll try that.
I also read the .ics file to check for invalid character set usage. All seems
to be utf-8. I tried the vObject library in Python, and doesn't seem to detect
any problem (only a quick text though).

John
Comment 3 John 2012-12-05 15:06:46 CET
Ok... As expected, recompiling orage with --disable-libical solved the problem!

At least I have my schedule back ;-)

John
Comment 4 Andrzej editbugs 2013-01-12 13:48:01 CET
Not sure if that is the same issue but recently orage started crashing after clicking on orage clock plugin or starting it from a command line. The output:

12:38:21 ** Message: Orage **: wakeup timer init 0
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
12:38:22 
** (orage:28028): CRITICAL **: ic_internal_file_open: Could not open ical file (/home/user/.local/share/orage/orage.ics) FILE: An operation on a file failed. Check errno for more detail.
12:38:22 ** Message: Orage **: Build alarm list: Added 0 alarms. Processed 0 events.
12:38:22 ** Message: Orage **: 	Found 0 alarms of which 0 are active. (Searched 0 recurring alarms.)
orage: icalcomponent.c:1345: icalcomponent_begin_component: Assertion `0' failed.

$ cat /home/user/.local/share/orage/orage.ics
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Xfce//Orage//EN
END:VCALENDAR

gdb output:
Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb75661df in __GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb7569825 in __GI_abort () at abort.c:91
#3  0xb755f085 in __assert_fail_base (
    fmt=0xb769cc98 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=0x80b8320 "0", file=0x80b62f0 "icalcomponent.c", line=1345, 
    function=0x80b63f0 <__PRETTY_FUNCTION__.6327> "icalcomponent_begin_component") at assert.c:94
#4  0xb755f137 in __GI___assert_fail (assertion=assertion@entry=0x80b8320 "0", 
    file=file@entry=0x80b62f0 "icalcomponent.c", line=line@entry=1345, 
    function=function@entry=0x80b63f0 <__PRETTY_FUNCTION__.6327> "icalcomponent_begin_component") at assert.c:103
#5  0x0809265b in icalcomponent_begin_component (
    component=component@entry=0x0, kind=ICAL_VTODO_COMPONENT)
    at icalcomponent.c:1345
#6  0x0806d6e5 in xfical_appt_get_next_on_day_internal (a_day=<optimized out>, 
    first=1, days=0, type=XFICAL_TYPE_TODO, base=0x0, 
    file_type=0xbfffeffb "O00.") at ical-code.c:3240

Recompiling orage with --disable-libical did not fix this issue.
Comment 5 juha editbugs 2013-01-13 10:38:22 CET
Your problems looks different.
I can reproduce it for example by doing:
chmod 000 .local/share/orage/orage.ics

Somethign bad has happened to your orage file. Seems like you can not access it anymore?

Try 
$ cat .local/share/orage/orage.ics

It may show the issue.
Different problem anyway.
Comment 6 Stephen Ewen 2013-02-02 07:52:22 CET
I'm experiencing the same issue as is Andrzej.

orage crashes upon startup. 

Running orage from terminal produces

00:48:18 ** Message: Orage **: wakeup timer init 0
00:48:18 
** (orage:12745): CRITICAL **: ic_internal_file_open: Could not open ical file (/home/xfce-32/.local/share/orage/orage.ics) FILE: An operation on a file failed. Check errno for more detail.
00:48:18 ** Message: Orage **: Build alarm list: Added 0 alarms. Processed 0 events.
00:48:18 ** Message: Orage **: 	Found 0 alarms of which 0 are active. (Searched 0 recurring alarms.)
orage: icalcomponent.c:1345: icalcomponent_begin_component: Assertion `0' failed.
Aborted (core dumped)

My .local/share/orage is empty, so there is apparently no issue with reading the orage.ics file.

I also tried recompiling orage with --disable-libical but it did not fix this issue.
Comment 7 Stephen Ewen 2013-02-02 08:00:27 CET
UPDATE:

Simply deleting my ~/.config/orage/oragerc from a previous installation fixed the issue.
Comment 8 juha editbugs 2013-11-15 09:22:15 CET
I can't do anything with this without test case.
I tested the chmod 000 and latest Orage logs a lot of errors, but does not die.

closing.
Comment 9 juha editbugs 2013-12-11 08:09:38 CET
Fixed in 4.10.0

Bug #9588

Reported by:
John
Reported on: 2012-12-04
Last modified on: 2013-12-11

People

CC List:
2 users

Version

Attachments

Additional information