After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 333594 - Evolution fails to retrieve the tzid of utc timezone, leading to a critical warning crash
Evolution fails to retrieve the tzid of utc timezone, leading to a critical w...
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
1.6.x (obsolete)
Other All
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2006-03-06 10:25 UTC by Irene Huang
Modified: 2006-05-12 07:15 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
Patch (600 bytes, patch)
2006-03-06 10:33 UTC, Irene Huang
needs-work Details | Review
UTC&G_DEBUG=fatal_criticals (1.33 KB, patch)
2006-05-11 06:27 UTC, Cai Nan
committed Details | Review

Description Irene Huang 2006-03-06 10:25:00 UTC
Steps to reproduce:
1. export G_DEBUG=fatal_criticals
2. run evolution
3. set default timezone to utc
4. open the preference dialog

Evolution crashes


Stack trace:
  [1] __lwp_kill(0x1, 0x6), at 0xfc5c8697
  [2] _thr_kill(0x1, 0x6), at 0xfc5c5b40
  [3] raise(0x6), at 0xfc58dd04
  [4] abort(0x0, 0xfde76598, 0xfc6c3e38, 0x2, 0x5, 0x804531c), at 0xfc57009f
  [5] g_logv(0xfde76598, 0x8, 0xfde76fe4, 0x8045768), at 0xfc661134
  [6] g_log(0xfde76598, 0x8, 0xfde76fe4, 0xfde76fd8, 0xf3d, 0xfde7690c), at
0xfc661161
  [7] gtk_entry_set_text(0x851a2b0, 0x0), at 0xfdcafda7
=>[8] e_timezone_entry_set_entry(tentry = 0x853b858), line 286 in
"e-timezone-entry.c"
  [9] e_timezone_entry_set_timezone(tentry = 0x853b858, zone = 0xfe9f4f44), line
240 in "e-timezone-entry.c"
  [10] show_config(prefs = 0x8859830), line 486 in "cal-prefs-dialog.c"
  [11] calendar_prefs_dialog_construct(prefs = 0x8859830), line 646 in
"cal-prefs-dialog.c"
  [12] calendar_prefs_dialog_new(), line 679 in "cal-prefs-dialog.c"
  [13] factory(factory = 0x843b3b0, component_id = 0x88591a9
"OAFIID:GNOME_Evolution_Calendar_ConfigControl:2.6", closure = (nil)), line 192
in "main.c"
  [14] bonobo_marshal_OBJECT__STRING(0x8855470, 0x8045a5c, 0x2, 0x8858fd0, 0x0,
0x0), at 0xfe1a0051
  [15] g_closure_invoke(0x8855470, 0x8045a5c, 0x2, 0x8858fd0, 0x0), at 0xfc70a6b6
  [16] bonobo_closure_invoke_va_list(0x8855470, 0x8045a5c, 0x8045b44), at 0xfe1a10a1
  [17] bonobo_closure_invoke(0x8855470, 0x80b6f08, 0x8045b60, 0x8208760,
0x843b3b0, 0x41, 0x88591a9, 0x0), at 0xfe1a135d
  [18] bonobo_generic_factory_new_generic(0x843b3b0, 0x88591a9), at 0xfe18d62a
  [19] bonobo_shlib_factory_new_generic(0x843b3b0, 0x88591a9), at 0xfe19a579
  [20] impl_Bonobo_ObjectFactory_createObject(0x843b3c4, 0x88591a9, 0x8045e8c),
at 0xfe18d1ea
  [21] _ORBIT_skel_small_Bonobo_GenericFactory_createObject(0x843b3c4,
0x8045c6c, 0x8045c68, 0x0, 0x8045e8c, 0xfe18d0f0), at 0xfe0f6ef6
  [22] ORBit_c_stub_invoke(0x88592b0, 0xfe110374, 0x0, 0x8045c6c, 0x8045c68,
0x0, 0x8045e8c, 0x9, 0x4, 0xfe0f6edc), at 0xfe091d4d
  [23] Bonobo_GenericFactory_createObject(0x88592b0, 0x88591a9, 0x8045e8c), at
0xfe0f8891
  [24] bonobo_activation_activate_shlib_server(0x88593b4, 0x8045e8c), at 0xfe0f9b4c
  [25] handle_activation_result(0x88593b4, 0x0, 0x8045e8c), at 0xfe0fa426
  [26] bonobo_activation_activate(0x8045d90, 0x0, 0x0, 0x0, 0x8045e8c), at
0xfe0fa56f
  [27] bonobo_activation_activate_from_id(0x8864eb9, 0x0, 0x0, 0x8045e8c), at
0xfe0fa731
  [28] load_pages(dialog = 0x82a6c50), line 215 in "e-shell-settings-dialog.c"
  [29] e_shell_settings_dialog_init(dialog = 0x82a6c50), line 315 in
"e-shell-settings-dialog.c"  [30] g_type_create_instance(0x86dbea0), at 0xfc723100
  [31] g_object_constructor(0x86dbea0, 0x1, 0x8570e00), at 0xfc70dce3
  [32] g_object_newv(0x86dbea0, 0x0, 0x0), at 0xfc70d2a8
  [33] g_object_new_valist(0x86dbea0, 0x0, 0x80461c8), at 0xfc70dc84
  [34] g_object_new(0x86dbea0, 0x0), at 0xfc70ce7a
  [35] e_shell_settings_dialog_new(), line 328 in "e-shell-settings-dialog.c"
  [36] e_shell_show_settings(shell = 0x80b7c30, type = 0x81b4358 "mail",
shell_window = 0x818d800), line 1244 in "e-shell.c"
  [37] e_shell_window_show_settings(window = 0x818d800), line 1134 in
"e-shell-window.c"
  [38] command_settings(uih = 0x8192830, window = 0x818d800, path = 0x85aeb58
"Settings"), line 688 in "e-shell-window-commands.c"
  [39] marshal_VOID__USER_DATA_STRING(0x82a90c8, 0x80463cc, 0x2, 0x8815900, 0x0,
0x0), at 0xfe2eca9f
  [40] g_closure_invoke(0x82a90c8, 0x80463cc, 0x2, 0x8815900, 0x0), at 0xfc70a6b6
  [41] bonobo_closure_invoke_va_list(0x82a90c8, 0x80463cc, 0x80464a4), at 0xfe1a10a1
  [42] bonobo_closure_invoke(0x82a90c8, 0x4, 0x81a5a88, 0x8192830, 0x40,
0x85aecf0, 0x0), at 0xfe1a155b
  [43] impl_Bonobo_UIComponent_execVerb(0x8192844, 0x85aecf0, 0x80465ac), at
0xfe2ec95e
  [44] _ORBIT_skel_small_Bonobo_UIComponent_execVerb(0x8192844, 0x0, 0x804657c,
0x0, 0x80465ac, 0xfe2ec8dc), at 0xfe1a2156
  [45] ORBit_c_stub_invoke(0x81a4ea0, 0xfe1cf1fc, 0x4, 0x0, 0x804657c, 0x0,
0x80465ac, 0xe, 0x14, 0xfe1a213c), at 0xfe091d4d
  [46] Bonobo_UIComponent_execVerb(0x81a4ea0, 0x85aecf0, 0x80465ac), at 0xfe1a5303
  [47] impl_emit_verb_on(0x81c5520, 0x81a93c0, 0x818cde8), at 0xfe2f2267
  [48] g_cclosure_marshal_VOID__POINTER(0x816e820, 0x0, 0x2, 0x804679c,
0x80466fc, 0xfe2f1fcc), at 0xfc71f66c
  [49] g_type_class_meta_marshal(0x816e820, 0x0, 0x2, 0x804679c, 0x80466fc,
0x4c), at 0xfc70a9b1
  [50] g_closure_invoke(0x816e820, 0x0, 0x2, 0x804679c, 0x80466fc), at 0xfc70a6b6
  [51] signal_emit_unlocked_R(0x81b69f0, 0x0, 0x81c5520, 0x0, 0x804679c), at
0xfc71e805
  [52] g_signal_emit_valist(0x81c5520, 0xa8, 0x0, 0x8046a08), at 0xfc71d945
  [53] g_signal_emit(0x81c5520, 0xa8, 0x0, 0x81a93c0), at 0xfc71dae1
  [54] bonobo_ui_engine_emit_verb_on_w(0x81c5520, 0x829ae70), at 0xfe2f4333
  [55] exec_verb_cb(0x829ae70, 0x81c5520), at 0xfe2f876f
  [56] g_cclosure_marshal_VOID__VOID(0x829a588, 0x0, 0x1, 0x8046bbc, 0x8046b1c,
0x0), at 0xfc71edc1
  [57] g_closure_invoke(0x829a588, 0x0, 0x1, 0x8046bbc, 0x8046b1c), at 0xfc70a6b6
  [58] signal_emit_unlocked_R(0x81a27a8, 0x0, 0x829ae70, 0x0, 0x8046bbc), at
0xfc71e640
  [59] g_signal_emit_valist(0x829ae70, 0xc4, 0x0, 0x8046e28), at 0xfc71d945
  [60] g_signal_emit(0x829ae70, 0xc4, 0x0), at 0xfc71dae1
  [61] gtk_widget_activate(0x829ae70), at 0xfddf5a78
  [62] gtk_menu_shell_activate_item(0x82279a8, 0x829ae70, 0x1), at 0xfdd220b2
  [63] gtk_menu_shell_button_release(0x82279a8, 0x853b720), at 0xfdd21529
  [64] gtk_menu_button_release(0x82279a8, 0x853b720, 0x810ce58), at 0xfdd1a6cf
  [65] _gtk_marshal_BOOLEAN__BOXED(0x8134fd0, 0x8046fd0, 0x2, 0x804708c,
0x8046fec, 0xfdd1a678), at 0xfdd13f8d
  [66] g_type_class_meta_marshal(0x8134fd0, 0x8046fd0, 0x2, 0x804708c,
0x8046fec, 0xb4), at 0xfc70a9b1
  [67] g_closure_invoke(0x8134fd0, 0x8046fd0, 0x2, 0x804708c, 0x8046fec), at
0xfc70a6b6
  [68] signal_emit_unlocked_R(0x819dd80, 0x0, 0x82279a8, 0x804720c, 0x804708c),
at 0xfc71e805
  [69] g_signal_emit_valist(0x82279a8, 0x70, 0x0, 0x8047300), at 0xfc71d6db
  [70] g_signal_emit(0x82279a8, 0x70, 0x0, 0x853b720, 0x8047324), at 0xfc71dae1
  [71] gtk_widget_event_internal(0x82279a8, 0x853b720), at 0xfddf58ea
  [72] gtk_widget_event(0x82279a8, 0x853b720), at 0xfddf5579
  [73] gtk_propagate_event(0x82279a8, 0x853b720), at 0xfdd12b02
  [74] gtk_main_do_event(0x853b720, 0x0), at 0xfdd11b74
  [75] gdk_event_dispatch(0x80b4730, 0x0, 0x0), at 0xfd98e27a
  [76] g_main_dispatch(0x80b4778), at 0xfc659590
  [77] g_main_context_dispatch(0x80b4778), at 0xfc65a679
  [78] g_main_context_iterate(0x80b4778, 0x1, 0x1, 0x809a488), at 0xfc65aa99
  [79] g_main_loop_run(0x81be408), at 0xfc65b09e
  [80] bonobo_main(0x804772c, 0x8047648, 0xfeffa840, 0x8047590, 0x8047600,
0x8162470), at 0xfe18f40e
  [81] main(argc = 1, argv = 0x804768c), line 610 in "main.c"


Other information:
Moreover, with out G_DEBUG=fatal_criticals, the timezone entry shows nothing in
Edit->preferences->calendar and tasks.
Comment 1 Irene Huang 2006-03-06 10:33:47 UTC
Created attachment 60747 [details] [review]
Patch
Comment 2 Chenthill P 2006-03-06 14:01:28 UTC
Am not able to get the crash at all. Tried the same steps. Put a break point in the function where this occurs, the display name is present. I dont have the G_DEBUG set though.


Breakpoint 1, e_timezone_entry_set_entry (tentry=0x86ecd28) at e-timezone-entry.c:270
270             priv = tentry->priv;
(gdb) n
272             if (priv->zone) {
(gdb) p tentry
$1 = (ETimezoneEntry *) 0x86ecd28
(gdb) p tentry->priv->zone
$2 = (icaltimezone *) 0xb79dd8c0
(gdb) p *tentry->priv->zone
$3 = {tzid = 0xb79cba1d "UTC", location = 0x0, tznames = 0x0, latitude = 0, longitude = 0, component = 0x0,
  builtin_timezone = 0x0, end_year = 0, changes = 0x0}
(gdb) n
273                     display_name = icaltimezone_get_display_name (priv->zone);
(gdb) n
279                     if (icaltimezone_get_builtin_timezone (display_name))
(gdb) p display_name
$4 = 0xb79cba1d "UTC"
(gdb) n
280                             display_name = _(display_name);
(gdb) n
284             name_buffer = g_strdup (display_name);
(gdb) p display_name
$5 = 0xb79cba1d "UTC"
(gdb) n
286             gtk_entry_set_text (GTK_ENTRY (priv->entry), name_buffer);
(gdb) p name_buffer
$6 = 0x8735e00 "UTC"
(gdb)

Comment 3 Irene Huang 2006-03-07 03:02:12 UTC
hi, Chen 

Please set a breakpoint at icaltimezone_init_builtin_timezone and restart Evolution. In our case, icaltimezone_init_builtin_timezone is never invoked before  entering e_timezone_entry_set_entry. I guess, icaltimezone_init_builtin_timezone is somehow called by some unkown operations in your case. 

Could you please have a try? 

Thanks
Comment 4 Chenthill P 2006-05-10 06:44:44 UTC
Ok, so icaltimezone_get_utc_zone is called from e_cell_date_edit_text_init (ecd=0x82c0c98) at e-cell-date-edit-text.c:201 for me. So the right fix would be calling inti_builtin_timzones in the absence of builtin_timezones before comparing the location to return utc_timezone 
if (!builtin_timezones)
       icaltimezone_init_builtin_timezones ();

if (!strcmp (location, "UTC"))
	return &utc_timezone;
Comment 5 Cai Nan 2006-05-11 06:27:05 UTC
Created attachment 65217 [details] [review]
UTC&G_DEBUG=fatal_criticals
Comment 6 Chenthill P 2006-05-11 08:59:51 UTC
Looks good to commit. Please commit to gnome-2-14 and cvs HEAD.
Comment 7 Irene Huang 2006-05-12 07:12:36 UTC
bug closed as patches committed to both gnome-2-14 and head.
Comment 8 Harry Lu 2006-05-12 07:15:47 UTC
update the patch status to committed.