GNOME Bugzilla – Bug 444807
Evolution crushed in first-time wizard stage for some timezones.
Last modified: 2007-06-12 00:41:42 UTC
Steps to reproduce: 1. Distribution -- Scientific Linux 5 (RHEL 5) 2. Evolution-data-server version 1.8.0-15.0.2 or 1.8.0-15.0.3 3. TZ=Europe/Moscow evolution Stack trace: Distribution: Scientific Linux SL release 5.0 (Boron) Gnome Release: 2.16.0 2007-03-26 (Red Hat, Inc) BugBuddy Version: 2.16.0 Memory status: size: 188981248 vsize: 0 resident: 188981248 share: 0 rss: 23560192 rss_rlim: 0 CPU usage: start_time: 1179949217 rtime: 0 utime: 175 stime: 0 cutime:158 cstime: 0 timeout: 17 it_real_value: 0 frequency: 0 Backtrace was generated from '/usr/bin/evolution' (no debugging symbols found) Using host libthread_db library "/lib/i686/nosegneg/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1208936752 (LWP 3749)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) 0x0056e402 in __kernel_vsyscall ()
+ Trace 138818
Thread 1 (Thread -1208936752 (LWP 3749))
Other information: Evolution crushed for timezones: Europe/Moscow, Europe/Volgograd, Asia/Irkutsk, Asia/Makassar, Asia/Ujung_Pandang, Asia/Ulaanbaatar, Asia/Ulan_Bator. This bug is a consequence of removing TZNAME tag from timezone ICS VCARDs (Australia/Perth.ics and Asia/Jerusalem.ics) by a evolution-data-server-1.8.0-updated-zoneinfo.patch in RHEL evolution-data-server-1.8.0-15.0.2 RPM. Problem may be resolved by the patch: --- evolution-data-server-1.8.0/calendar/libical/src/libical/icaltimezone.c.orig 2007-05-25 01:20:43.000000000 +0400 +++ evolution-data-server-1.8.0/calendar/libical/src/libical/icaltimezone.c 2007-05-25 01:23:01.000000000 +0400 @@ -1433,6 +1433,8 @@ z_offset = get_offset(zone); + if (zone->tznames == NULL) continue; + if (z_offset == offset && !strcmp(tzname, zone->tznames)) return zone; }
*** Bug 445035 has been marked as a duplicate of this bug. ***
This may be duplicate of bug #425129. What do you think, Oleg?
Yes, seems like a same problem, but our patches is not exactly equivalent. Unfortunately, order of expression evaluation is unspecified by standards in C language. I afraid, patch http://bugzilla.gnome.org/attachment.cgi?id=86289&action=view : if (z_offset == offset && zone->tznames && !strcmp(tzname, zone->tznames)) may not completely resolve a crash problem, because in something combinations of C-compilers, OS-es and optimization options may rearrange expressions evaluation and, as a consequence, strcmp(tzname, zone->tznames) may be evaluated before zone->tznames. In my opinion, this code may be more safe expression: if (zone->tznames == NULL) continue;
copying the last comment to bug 425129 *** This bug has been marked as a duplicate of 425129 ***