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 411504 - segfaults if dbus session bus not available
segfaults if dbus session bus not available
Status: RESOLVED FIXED
Product: libgnomekbd
Classification: Core
Component: Config
2.18.x
Other All
: High critical
: ---
Assigned To: libgnomekbd maintainers
Sergey V. Udaltsov
Depends on:
Blocks:
 
 
Reported: 2007-02-24 08:40 UTC by Sitsofe Wheeler
Modified: 2007-07-11 10:26 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
fix crash if dbus not available (486 bytes, patch)
2007-03-21 16:56 UTC, Jens Granseuer
committed Details | Review

Description Sitsofe Wheeler 2007-02-24 08:40:12 UTC
Steps to reproduce:
1. Suspend and resume overnight.
2. Notice that you are unable to launch programs from the panel (pressing an icon results in the appropriate loading animation and seemingly a process being spawned but no program appears)
3. In a terminal type
killall gnome-settings-daemon
4. In the same terminal type
gnome-settings-daemon


Stack trace:
Memory status: size: 28610560 vsize: 0 resident: 28610560 share: 0 rss: 7340032 rss_rlim: 0
CPU usage: start_time: 1172305386 rtime: 0 utime: 20 stime: 0 cutime:16 cstime: 0 timeout: 4 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/gnome-settings-daemon'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1226570064 (LWP 17246)]
[New Thread -1228219488 (LWP 17248)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1226570064 (LWP 17246))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 874
  • #3 <signal handler called>
  • #4 keyboard_config_registry_get_type
  • #5 IA__g_type_create_instance
    at gtype.c line 1567
  • #6 g_object_constructor
    at gobject.c line 1041
  • #7 IA__g_object_newv
    at gobject.c line 937
  • #8 IA__g_object_new_valist
    at gobject.c line 981
  • #9 IA__g_object_new
    at gobject.c line 795
  • #10 gnome_settings_keyboard_xkb_init
  • #11 gnome_settings_daemon_new
  • #12 main
  • #0 __kernel_vsyscal

Other information:
For a good 5-10 minutes this bug was reproducible every time an attempt was made to launch gnome-settings-daemon. After this period things that had previously not restarted themselves like the panel suddenly relaunched themselves (as did gnome-settings-daemon).

The following was seen on the console:
~$ gnome-settings-daemon 

(gnome-settings-daemon:16999): GSwitchIt-WARNING **: Unable to connect to dbus: 
Unable to determine the address of the message bus (try 'man dbus-launch' and 'm
an dbus-daemon' for help)

** (gnome-settings-daemon:16999): CRITICAL **: dbus_g_connection_register_g_obje
ct: assertion `connection != NULL' failed

** (gnome-settings-daemon:16999): CRITICAL **: dbus_g_proxy_new_for_name: assert
ion `connection != NULL' failed

** (gnome-settings-daemon:16999): CRITICAL **: dbus_g_proxy_call: assertion `DBU
S_IS_G_PROXY (proxy)' failed

** (bug-buddy:17005): WARNING **: Couldn't load icon for Open Folder
Window manager warning: Received a _NET_WM_MOVERESIZE message for 0x1a00003 (Bug
 Buddy); these messages lack timestamps and therefore suck.

Bug Buddy did not recognize the gnome-control-center program and didn't automatically upload this bug to bugzilla.  

Version Information:
Ubuntu Edgy
gnome-control-center 2.16.1-0ubuntu4.2
Comment 1 Jens Granseuer 2007-02-24 11:06:29 UTC
That looks very much like a problem in libxklavier/libgnomekbd.

Sergey, can you please take a look?
Comment 2 Jens Granseuer 2007-03-03 11:44:22 UTC
Confirming. Easily reproducable by not starting a session bus before running g-s-d. The keyboard libs can't handle that.
Comment 3 Sergey V. Udaltsov 2007-03-17 00:43:01 UTC
I have this on my system - but actually the keyboard stuff survives missing dbus. It seems g-s-d crashes later, when it is trying to connect its own dbus service (used by the gnome-session).
Comment 4 Jens Granseuer 2007-03-21 16:56:43 UTC
Created attachment 85054 [details] [review]
fix crash if dbus not available

Ok, so this one fixes the crash, but I still get a number of critical warnings, at least some of which are from the keyboard stuff:

(gnome-settings-daemon:4909): GnomeKbdIndicator-WARNING **: Unable to connect to dbus: Failed to connect to socket /tmp/dbus-KBxn0HzBsW: Connection refused

** (gnome-settings-daemon:4909): CRITICAL **: dbus_g_connection_register_g_object: assertion `connection != NULL' failed

** (gnome-settings-daemon:4909): CRITICAL **: dbus_g_proxy_new_for_name: assertion `connection != NULL' failed

(gnome-settings-daemon:4909): GnomeKbdIndicator-CRITICAL **: Could not create DBUS proxy

** (gnome-settings-daemon:4909): WARNING **: Unable to connect to dbus: Failed to connect to socket /tmp/dbus-KBxn0HzBsW: Connection refused
Comment 5 Jens Granseuer 2007-03-22 19:12:39 UTC
Remaining critical warnings are in libgnomekbd. Reassigning.
Comment 6 Sergey V. Udaltsov 2007-07-11 10:26:14 UTC
I made config registry stop initialization if klass->connection is NULL. Fixed in SVN. Could you please check whether it works for you lads?