GNOME Bugzilla – Bug 670016
datetime: do not crash when timedate1 is not available
Last modified: 2012-02-14 10:58:26 UTC
On my system, without systemd, the date-and-time panel crashes gnome-control-center when I try to open it. Attaching a naive patch that gives me a running panel, although of course it does not do anything. This is the trace: GLib-CRITICAL **: g_str_has_prefix: assertion `str != NULL' failed GLib-CRITICAL **: g_str_has_prefix: assertion `str != NULL' failed Program received signal SIGSEGV, Segmentation fault. 0xb754c41b in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 (gdb) bt 0 0xb754c41b in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 1 0xb7606d03 in g_str_equal (v1=0x0, v2=0xaba7a6bc) at ghash.c:1704 2 0xaba76d2c in compare_timezones (b=0xaba7a6bc "Asia/Istanbul", a=0x0) at tz.c:294 3 tz_info_get_clean_name (tz_db=0x8328ff0, tz=0x0) at tz.c:329 4 0xaba75f1c in cc_timezone_map_set_timezone (map=0x81b1b20, timezone=0x0) at cc-timezone-map.c:584 5 0xaba72d85 in get_initial_timezone (self=0x828f490) at cc-datetime-panel.c:561 6 0xaba74aa6 in cc_date_time_panel_init (self=0x828f490) at cc-datetime-panel.c:1063 7 0xb771ea7b in g_type_create_instance (type=136370936) at gtype.c:1892 8 0xb7701528 in g_object_constructor (type=136370936, n_construct_properties=2, construct_params=0x82e73f8) at gobject.c:1839 9 0xb7702d69 in g_object_newv (object_type=136370936, n_parameters=2, parameters=0x82e7270) at gobject.c:1703 10 0xb77035c3 in g_object_new_valist (object_type=136370936, first_property_name=0x8054681 "shell", var_args=0xbfffe6b8 "\006") at gobject.c:1820 11 0xb7703820 in g_object_new (object_type=136370936, first_property_name=0x8054681 "shell") at gobject.c:1535 12 0x0804fb33 in activate_panel (gicon=0x81cce78, name=0x82f2b08 "Fecha y hora", desktop_file=<optimized out>, argv=0x0, id=0x82e33d0 "datetime", shell=0x80c7c28) at gnome-control-center.c:159 13 _shell_set_active_panel_from_id (shell=0x80c7c28, start_id=0x82e33d0 "datetime", argv=0x0, err=0xbfffe75c) at gnome-control-center.c:911 14 0x0804ea51 in item_activated_cb (view=0x81ed2d0, name=0x82e7218 "Fecha y hora", id=0x82e33d0 "datetime", desktop_file=0x82f1bb0 "/home/diego/gnome/build/share/applications/gnome-datetime-panel.desktop", shell=0x80c7c28) at gnome-control-center.c:263 15 0xb76fd5bc in g_closure_invoke (closure=0x821d358, return_value=0x0, n_param_values=4, param_values=0x827ed48, invocation_hint=0xbfffe870) at gclosure.c:774 16 0xb770eb05 in signal_emit_unlocked_R (node=0x81fac28, detail=0, instance=0x81ed2d0, emission_return=0x0, instance_and_params=0x827ed48) at gsignal.c:3302 17 0xb7716682 in g_signal_emit_valist (instance=0x81ed2d0, signal_id=206, detail=0, var_args=0xbfffea28 "\002") at gsignal.c:3033 18 0xb7716813 in g_signal_emit (instance=0x81ed2d0, signal_id=206, detail=0) at gsignal.c:3090 19 0x08051af4 in iconview_item_activated_cb (icon_view=0x81ed2d0, path=0x8228c60, cc_view=0x81ed2d0) at cc-shell-item-view.c:143 20 0xb76ff68a in g_cclosure_marshal_VOID__BOXED (closure=0x822f368, return_value=0x0, n_param_values=2, param_values=0x8279990, invocation_hint=0xbfffebb0, marshal_data=0x0) at gmarshal.c:574 21 0xb76fd5bc in g_closure_invoke (closure=0x822f368, return_value=0x0, n_param_values=2, param_values=0x8279990, invocation_hint=0xbfffebb0) at gclosure.c:774 22 0xb770eb05 in signal_emit_unlocked_R (node=0x81f91d8, detail=0, instance=0x81ed2d0, emission_return=0x0, instance_and_params=0x8279990) at gsignal.c:3302 23 0xb7716682 in g_signal_emit_valist (instance=0x81ed2d0, signal_id=198, detail=0, var_args=0xbfffed60 "\320\322\036\b\300\212\"\b@w\037\b\241\033\005\b\320\322\036\b\240\214\"\b\320\322\036\b\360\271o\267p\257\006\bH") at gsignal.c:3033 24 0xb7716813 in g_signal_emit (instance=0x81ed2d0, signal_id=198, detail=0) at gsignal.c:3090 25 0xb7c68faa in gtk_icon_view_item_activated (icon_view=0x81ed2d0, path=0x8228ca0) at gtkiconview.c:5381 26 0x08051ba1 in iconview_button_release_event_cb (cc_view=0x81ed2d0, widget=<optimized out>, event=<optimized out>) at cc-shell-item-view.c:111 27 iconview_button_release_event_cb (widget=0x81ed2d0, event=0x81ee068, cc_view=0x81ed2d0) at cc-shell-item-view.c:95 28 0xb7c901ba in _gtk_marshal_BOOLEAN__BOXED (closure=0x8231628, return_value=0xbfffeef4, n_param_values=2, param_values=0x8279800, invocation_hint=0xbfffeee0, marshal_data=0x0) at gtkmarshalers.c:85 29 0xb76fd5bc in g_closure_invoke (closure=0x8231628, return_value=0xbfffeef4, n_param_values=2, param_values=0x8279800, invocation_hint=0xbfffeee0) at gclosure.c:774 30 0xb770eb05 in signal_emit_unlocked_R (node=0x806a960, detail=0, instance=0x81ed2d0, emission_return=0xbffff02c, instance_and_params=0x8279800) at gsignal.c:3302 31 0xb77165a7 in g_signal_emit_valist (instance=0x81ed2d0, signal_id=29, detail=0, var_args=0xbffff090 "\274\360\377\277h\340\036\b\320\322\036\b\263\256\336\267\320\322\036\b\250[\006\b") at gsignal.c:3043 32 0xb7716813 in g_signal_emit (instance=0x81ed2d0, signal_id=29, detail=0) at gsignal.c:3090 33 0xb7deb093 in gtk_widget_event_internal (widget=0x81ed2d0, event=0x81ee068) at gtkwidget.c:6154 34 0xb7c8f8f2 in gtk_propagate_event (widget=0x81ed2d0, event=0x81ee068) at gtkmain.c:2420 35 0xb7c8fd80 in gtk_main_do_event (event=0x81ee068) at gtkmain.c:1687 36 0xb7a8a53c in _gdk_event_emit (event=0x81ee068) at gdkevents.c:71 37 0xb7ab84e8 in gdk_event_source_dispatch (source=0x8095258, callback=0, user_data=0x0) at gdkeventsource.c:360 38 0xb761699a in g_main_dispatch (context=0x80968f0) at gmain.c:2510 39 g_main_context_dispatch (context=0x80968f0) at gmain.c:3047 40 0xb7616da5 in g_main_context_iterate (dispatch=1, block=-1218296320, context=0x80968f0, self=<optimized out>) at gmain.c:3118 41 g_main_context_iterate (context=0x80968f0, block=-1218296320, dispatch=1, self=<optimized out>) at gmain.c:3055 42 0xb7616e81 in g_main_context_iteration (context=0x80968f0, may_block=1) at gmain.c:3179 43 0xb77de09c in g_application_run (application=0x8191568, argc=1, argv=0xbffff3d4) at gapplication.c:1493 44 0x0804e44b in main (argc=1, argv=0xbffff3d4) at control-center.c:199
Created attachment 207491 [details] [review] datetime: do not crash when timedate1 is not available
Review of attachment 207491 [details] [review]: I'm pretty certain this breaks previously working setups (eg. with systemd).
commit d70bd4b82a58a8976c7fa7d341329c09942f53c2 Author: Bastien Nocera <hadess@hadess.net> Date: Tue Feb 14 10:20:55 2012 +0000 datetime: Fix crashers when systemd is unavailable https://bugzilla.gnome.org/show_bug.cgi?id=670016