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 657271 - SIGSEGV from g_settings_bind_with_mapping
SIGSEGV from g_settings_bind_with_mapping
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: General
unspecified
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2011-08-24 18:26 UTC by Raluca-Elena Podiuc
Modified: 2011-08-25 10:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
src: install empathy-main-window-menubar.ui (1.22 KB, patch)
2011-08-25 10:05 UTC, Raluca-Elena Podiuc
accepted-commit_now Details | Review

Description Raluca-Elena Podiuc 2011-08-24 18:26:16 UTC
I have a problem with empathy/master that happens 100% every time I open Empathy that I reduced to this commit:

$ git bisect good 
1ad15d157971b6550cb11787a03463e891d29364 is the first bad commit
commit 1ad15d157971b6550cb11787a03463e891d29364
Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date:   Tue Aug 23 14:08:18 2011 +0200

    Move main window's UI manager to its own UI file
    
    Glade doesn't support GtkUIManager so it was impossible to edit the main window at all
    because of that.

:040000 040000 a081000ace8254e84debb7268ab0c4ede39f124c e7d5b25caf81a2e30c9b3b8a6eb9d98462a8e74a M	po
:040000 040000 b965144c24027940cc932bce112917b3fc5c0eb8 4ec5be5d700988421cdfc652bbc7503912f64321 M	src



Here's a backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x028fb7c1 in g_settings_bind_with_mapping () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
(gdb) bt
  • #0 g_settings_bind_with_mapping
    from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
  • #1 g_settings_bind
    from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
  • #2 empathy_main_window_init
    at empathy-main-window.c line 2322
  • #3 g_type_create_instance
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #4 ??
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #5 empathy_main_window_constructor
    at empathy-main-window.c line 2075
  • #6 g_object_newv
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #7 g_object_new
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #8 empathy_main_window_dup
    at empathy-main-window.c line 2402
  • #9 empathy_app_command_line
    at empathy.c line 285
  • #10 ??
    from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
  • #11 ??
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #12 g_closure_invoke
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #13 ??
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #16 g_application_run
    from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
  • #17 main
    at empathy.c line 788

Comment 1 Guillaume Desmottes 2011-08-25 08:42:20 UTC
Are you sure you are using the ui files from master? You can set the EMPATHY_SRCDIR env variable to tell Empathy to load them from your source tree. For example mine is: EMPATHY_SRCDIR=/home/cassidy/gnome/empathy
Comment 2 Raluca-Elena Podiuc 2011-08-25 10:04:36 UTC
With EMPATHY_SRCDIR it works correctly.

$ strace -ff -e trace=open empathy 2>&1  | grep "\.ui"
[pid 17755] open("/usr/local/share/empathy/empathy-main-window.ui", O_RDONLY|O_LARGEFILE) = 16
[pid 17755] open("/usr/local/share/empathy/empathy-main-window-menubar.ui", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
** (empathy:17755): CRITICAL **: GtkBuilder Error (/usr/local/share/empathy/empathy-main-window-menubar.ui): Failed to open file '/usr/local/share/empathy/empathy-main-window-menubar.ui': No such file or directory



I see that 'make install' installs some .ui files, but not empathy-main-window-menubar.ui:

$ sudo make install | grep "\.ui"
 /usr/bin/install -c -m 644 empathy-contact-widget.ui empathy-contact-dialogs.ui empathy-contact-blocking-dialog.ui empathy-account-widget-generic.ui empathy-account-widget-jabber.ui empathy-account-widget-msn.ui empathy-account-widget-sip.ui empathy-account-widget-local-xmpp.ui empathy-account-widget-irc.ui empathy-account-widget-icq.ui empathy-account-widget-yahoo.ui empathy-account-widget-groupwise.ui empathy-account-widget-aim.ui empathy-status-preset-dialog.ui empathy-log-window.ui empathy-chat.ui empathy-contact-selector-dialog.ui empathy-search-bar.ui empathy-individual-widget.ui '/usr/local/share/empathy'
 /usr/bin/install -c -m 644 empathy-accounts-dialog.ui empathy-call-window-fullscreen.ui empathy-call-window.ui empathy-streamed-media-window.ui empathy-chat-window.ui empathy-chatrooms-window.ui empathy-ft-manager.ui empathy-import-dialog.ui empathy-main-window.ui empathy-new-chatroom-dialog.ui empathy-preferences.ui empathy-status-icon.ui '/usr/local/share/empathy'
Comment 3 Raluca-Elena Podiuc 2011-08-25 10:05:11 UTC
Created attachment 194686 [details] [review]
src: install empathy-main-window-menubar.ui
Comment 4 Guillaume Desmottes 2011-08-25 10:19:29 UTC
Review of attachment 194686 [details] [review]:

Ooops my bad. :) Thanks for the fix!
Comment 5 Raluca-Elena Podiuc 2011-08-25 10:32:31 UTC
Ok. Pushed in master.