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 652572 - Crash if daemon is not running
Crash if daemon is not running
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Online Accounts
unspecified
Other Linux
: Normal major
: ---
Assigned To: David Zeuthen (not reading bugmail)
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-06-14 15:21 UTC by Guillaume Desmottes
Modified: 2011-08-26 10:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
panel: Disable buttons when D-Bus service not avail (990 bytes, patch)
2011-06-23 19:39 UTC, Bastien Nocera
committed Details | Review

Description Guillaume Desmottes 2011-06-14 15:21:16 UTC
I got this crash while trying to add a Google account without having the daemon running.

GLib-GIO-CRITICAL **: g_dbus_proxy_call: assertion `G_IS_DBUS_PROXY (proxy)' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff4cfd974 in g_logv (log_domain=0x7ffff598ede6 "GLib-GIO", log_level=G_LOG_LEVEL_CRITICAL, 
    format=0x7ffff4d85178 "%s: assertion `%s' failed", args1=0x7fffffffbb60) at gmessages.c:552
552			G_BREAKPOINT ();
(gdb) bt
  • #0 g_logv
    at gmessages.c line 552
  • #1 g_log
    at gmessages.c line 573
  • #2 g_return_if_fail_warning
  • #3 g_dbus_proxy_call
    at gdbusproxy.c line 2335
  • #4 goa_manager_call_add_account
    at goa-generated.c line 4837
  • #5 goa_oauth_provider_add_account
    at goaoauthprovider.c line 977
  • #6 goa_provider_add_account
    at goaprovider.c line 214
  • #7 on_toolbar_add_button_clicked
    at goapanel.c line 523
  • #8 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 79
  • #9 g_closure_invoke
    at gclosure.c line 771
  • #10 signal_emit_unlocked_R
    at gsignal.c line 3256
  • #11 g_signal_emit_valist
    at gsignal.c line 2987
  • #12 g_signal_emit_by_name
    at gsignal.c line 3081
  • #13 button_clicked
    at gtktoolbutton.c line 783
  • #14 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 79
  • #15 g_closure_invoke
    at gclosure.c line 771
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3256
  • #17 g_signal_emit_valist
    at gsignal.c line 2987
  • #18 g_signal_emit
    at gsignal.c line 3044
  • #19 gtk_button_clicked
    at gtkbutton.c line 1194
  • #20 gtk_real_button_released
    at gtkbutton.c line 1827
  • #21 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 79
  • #22 g_type_class_meta_marshal
    at gclosure.c line 882
  • #23 g_closure_invoke
    at gclosure.c line 771
  • #24 signal_emit_unlocked_R
    at gsignal.c line 3186
  • #25 g_signal_emit_valist
    at gsignal.c line 2987
  • #26 g_signal_emit
    at gsignal.c line 3044
  • #27 gtk_button_released
    at gtkbutton.c line 1180
  • #28 gtk_button_button_release
    at gtkbutton.c line 1719
  • #29 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 85
  • #30 g_type_class_meta_marshal
    at gclosure.c line 882
  • #31 g_closure_invoke
    at gclosure.c line 771
  • #32 signal_emit_unlocked_R
    at gsignal.c line 3294
  • #33 g_signal_emit_valist
    at gsignal.c line 2997
  • #34 g_signal_emit
    at gsignal.c line 3044
  • #35 gtk_widget_event_internal
    at gtkwidget.c line 6114
  • #36 gtk_widget_event
    at gtkwidget.c line 5830
  • #37 gtk_propagate_event
    at gtkmain.c line 2597
  • #38 gtk_main_do_event
    at gtkmain.c line 1872
  • #39 _gdk_event_emit
    at gdkevents.c line 71
  • #40 gdk_event_source_dispatch
    at gdkeventsource.c line 318
  • #41 g_main_dispatch
    at gmain.c line 2477
  • #42 g_main_context_dispatch
    at gmain.c line 3050
  • #43 g_main_context_iterate
    at gmain.c line 3128
  • #44 g_main_loop_run
    at gmain.c line 3336
  • #45 gtk_main
    at gtkmain.c line 1358
  • #46 gtk_application_run_mainloop
    at gtkapplication.c line 85
  • #47 g_application_run
    at gapplication.c line 1326
  • #48 main
    at control-center.c line 180

Comment 1 David Zeuthen (not reading bugmail) 2011-06-14 15:25:23 UTC
Hmm, the daemon should be activated by dbus-daemon(1) if it's not running already. Did you not run 'make install'? We could make the code handle the case where calls into the daemon fails but not sure it's worth it...
Comment 2 Bastien Nocera 2011-06-14 15:39:26 UTC
(In reply to comment #1)
> Hmm, the daemon should be activated by dbus-daemon(1) if it's not running
> already. Did you not run 'make install'? We could make the code handle the case
> where calls into the daemon fails but not sure it's worth it...

Making it not crash would be useful. Either that or print out a useful warning, rather than crashing (and yes, it's useful because soon, the account bits will be in gnome-control-center, and I don't fancy dup'ing bugs for people who can't install things properly).
Comment 3 Guillaume Desmottes 2011-06-14 15:42:30 UTC
(In reply to comment #1)
> Hmm, the daemon should be activated by dbus-daemon(1) if it's not running
> already. Did you not run 'make install'? We could make the code handle the case
> where calls into the daemon fails but not sure it's worth it...

I'm using jhbuild so it wasn't activated. We should at least display a g_warning() or something.
Comment 4 David Zeuthen (not reading bugmail) 2011-06-14 15:43:48 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Hmm, the daemon should be activated by dbus-daemon(1) if it's not running
> > already. Did you not run 'make install'? We could make the code handle the case
> > where calls into the daemon fails but not sure it's worth it...
> 
> Making it not crash would be useful. Either that or print out a useful warning,
> rather than crashing (and yes, it's useful because soon, the account bits will
> be in gnome-control-center, and I don't fancy dup'ing bugs for people who can't
> install things properly).

Makes sense to me, yeah.
Comment 5 Bastien Nocera 2011-06-23 19:39:44 UTC
Created attachment 190531 [details] [review]
panel: Disable buttons when D-Bus service not avail
Comment 6 Bastien Nocera 2011-06-23 19:40:41 UTC
No idea if this works or not. Guillaume? Does that print out a warning and disable the whole panel?
Comment 7 Guillaume Desmottes 2011-06-24 07:02:02 UTC
Doesn't seem to change anything, I still get the warning.
Comment 8 Matthias Clasen 2011-08-25 22:53:10 UTC
The patch certainly fixes the crash here.