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 705296 - Segmentation Fault on creating Google accounts
Segmentation Fault on creating Google accounts
Status: RESOLVED DUPLICATE of bug 703734
Product: json-glib
Classification: Core
Component: Core
0.15.x
Other Linux
: Normal normal
: ---
Assigned To: json-glib-maint
json-glib-maint
Depends on:
Blocks:
 
 
Reported: 2013-08-01 15:15 UTC by Foad Nosrati Habibi
Modified: 2013-09-16 13:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gnome-control-centre -v #Text file (65.16 KB, text/plain)
2013-08-01 15:15 UTC, Foad Nosrati Habibi
Details

Description Foad Nosrati Habibi 2013-08-01 15:15:37 UTC
Created attachment 250632 [details]
gnome-control-centre -v #Text file

After accepting to access Gnome applications from Google account, Gnome controlling centre crashes without any output in GUI and Segmentation Fault in terminal.
I attach output of --verbose mode.
Comment 1 Debarshi Ray 2013-08-12 16:35:57 UTC
Is this crash reproducible? Can you please provide a backtrace using GDB? See [1] and [2] if you need help.

[1] https://wiki.gnome.org/GettingTraces
[2] https://wiki.gnome.org/GettingTraces/Details#obtain-a-stacktrace
Comment 2 Foad Nosrati Habibi 2013-08-13 09:46:41 UTC
(In reply to comment #1)
> Is this crash reproducible? Can you please provide a backtrace using GDB? See
> [1] and [2] if you need help.
> 
> [1] https://wiki.gnome.org/GettingTraces
> [2] https://wiki.gnome.org/GettingTraces/Details#obtain-a-stacktrace

Yes, every time I try, it happens.
Here is backtrace:


Thread 1 (Thread 0x7ffff7f91900 (LWP 3205))

  • #0 json_object_get_type
    from /usr/lib64/libjson.so.0
  • #1 json_parser_class_init
    at ./json-parser.c line 224
  • #2 json_parser_class_intern_init
    at ./json-parser.c line 109
  • #3 type_class_init_Wm
    at gtype.c line 2244
  • #4 g_type_class_ref
    at gtype.c line 2959
  • #5 g_object_newv
    at gobject.c line 1624
  • #6 g_object_new
    at gobject.c line 1548
  • #7 get_tokens_sync
    at goaoauth2provider.c line 620
  • #8 get_tokens_and_identity
    at goaoauth2provider.c line 1081
  • #9 goa_oauth2_provider_add_account
    at goaoauth2provider.c line 1235
  • #10 goa_provider_add_account
    at goaprovider.c line 251
  • #11 add_account_dialog_add_account
    at cc-online-accounts-add-account-dialog.c line 94
  • #12 list_box_child_activated_cb
    at cc-online-accounts-add-account-dialog.c line 113
  • #13 g_cclosure_marshal_VOID__OBJECTv
    at gmarshal.c line 1312
  • #14 _g_closure_invoke_va
    at gclosure.c line 840
  • #15 g_signal_emit_valist
    at gsignal.c line 3234
  • #16 g_signal_emit
    at gsignal.c line 3384
  • #17 egg_list_box_real_button_release_event
    at egg-list-box.c line 983
  • #18 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #19 _g_closure_invoke_va
    at gclosure.c line 840
  • #20 g_signal_emit_valist
    at gsignal.c line 3234
  • #21 g_signal_emit
    at gsignal.c line 3384
  • #22 gtk_widget_event_internal
    at gtkwidget.c line 6714
  • #23 propagate_event_up
    at gtkmain.c line 2393
  • #24 propagate_event
    at gtkmain.c line 2501
  • #25 gtk_main_do_event
    at gtkmain.c line 1716
  • #26 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #27 g_main_dispatch
    at gmain.c line 3054
  • #28 g_main_context_dispatch
    at gmain.c line 3630
  • #29 g_main_context_iterate
    at gmain.c line 3701
  • #30 g_main_context_iterate
    at gmain.c line 3638
  • #31 g_main_loop_run
    at gmain.c line 3895
  • #32 gtk_dialog_run
    at gtkdialog.c line 1110
  • #33 add_account
    at cc-online-accounts-panel.c line 647
  • #34 _g_closure_invoke_va
    at gclosure.c line 840
  • #35 g_signal_emit_valist
    at gsignal.c line 3234
  • #36 g_signal_emit
    at gsignal.c line 3384
  • #37 gtk_real_button_released
    at gtkbutton.c line 1967
  • #38 g_closure_invoke
    at gclosure.c line 777
  • #39 signal_emit_unlocked_R
    at gsignal.c line 3514
  • #40 g_signal_emit_valist
    at gsignal.c line 3328
  • #41 g_signal_emit
    at gsignal.c line 3384
  • #42 gtk_button_button_release
    at gtkbutton.c line 1802
  • #43 gtk_button_button_release
    at gtkbutton.c line 1794
  • #44 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #45 _g_closure_invoke_va
    at gclosure.c line 840
  • #46 g_signal_emit_valist
    at gsignal.c line 3234
  • #47 g_signal_emit
    at gsignal.c line 3384
  • #48 gtk_widget_event_internal
    at gtkwidget.c line 6714
  • #49 propagate_event_up
    at gtkmain.c line 2393
  • #50 propagate_event
    at gtkmain.c line 2501
  • #51 gtk_main_do_event
    at gtkmain.c line 1716
  • #52 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #53 g_main_dispatch
    at gmain.c line 3054
  • #54 g_main_context_dispatch
    at gmain.c line 3630
  • #55 g_main_context_iterate
    at gmain.c line 3701
  • #56 g_main_context_iterate
    at gmain.c line 3638
  • #57 g_main_context_iteration
    at gmain.c line 3762
  • #58 g_application_run
    at gapplication.c line 1623
  • #59 main
    at main.c line 52

Comment 3 Debarshi Ray 2013-08-13 14:36:00 UTC
Thanks for the backtrace. I see some activity inside json-glib and webkitgtk. What versions of those packages are you using?

For what it is worth, I have got:
json-glib-0.16.0-1.fc19.x86_64
webkitgtk3-2.0.4-1.fc19.x86_64

Can you run gnome-control-center under GDB, set a break point on get_tokens_sync (say y when it asks about shared library load), and see what is happening there?
Comment 4 Alessandro Capogna 2013-09-16 11:36:23 UTC
i can confirm: it require json-glib-0.16.* , with json-glib-0.15.* or less it doesn't work and seg fault is the result ( net-libs/webkit-gtk-1.8.3 installed )
Comment 5 Debarshi Ray 2013-09-16 11:51:44 UTC
(In reply to comment #4)
> i can confirm: it require json-glib-0.16.* , with json-glib-0.15.* or less it
> doesn't work and seg fault is the result ( net-libs/webkit-gtk-1.8.3 installed
> )

Thanks for the detective work.

A bit of background:
We switched to using OAuth2 with Google from GNOME 3.8. As a result the web page returned by Google is different, and I think it is triggering a bug in older versions of json-glib.

So, yes, you need to have json-glib >= 0.16.0 for this to work.
Comment 6 Emmanuele Bassi (:ebassi) 2013-09-16 13:19:19 UTC
it's actually a dupe of 703734: applications linking to PulseAudio end up bringing a dependency on json-c, which has a `json_object_get_type` symbol exposed in the SO - and that conflicts with json-glib's symbol with the same name, because dynamic linking is hard, and we should all go shopping instead.

it's been fixed by json-glib using -Bsymbolic when building the SO - something that both PA and json-c should use.

*** This bug has been marked as a duplicate of bug 703734 ***