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 628889 - gconf initialization stuck in g_bus_get_sync()
gconf initialization stuck in g_bus_get_sync()
Status: RESOLVED DUPLICATE of bug 627724
Product: GConf
Classification: Deprecated
Component: gconf
2.31.x
Other Linux
: Normal major
: ---
Assigned To: GConf Maintainers
GConf Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-09-06 14:00 UTC by Tomas Bzatek
Modified: 2010-09-08 16:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backtrace (7.45 KB, text/plain)
2010-09-06 14:00 UTC, Tomas Bzatek
Details

Description Tomas Bzatek 2010-09-06 14:00:42 UTC
Created attachment 169576 [details]
backtrace

Noticed when debugging gvfsd-smb which initializes gconf in GVfsBackendSmbClass constructor (g_vfs_backend_smb_class_init()). All this looks to happen in main thread, no obvious reason for failure. Everything else (Gnome session) runs just fine, this is the only case of failure.

Please see attached backtrace for details. Not even sure where to start debugging, dbus-monitor only shows usual gvfs stuff:

 method call sender=:1.280 -> dest=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method call sender=:1.280 -> dest=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.gtk.vfs.Daemon'"


Perhaps, gvfs doesn't use GDBus yet while gconf does, mixing two different ways to reach dbus causing pain? Port to GDBus is subject to bug 622883.

glib2-2.25.15-1.fc15
GConf2-2.31.91-1.fc15
Comment 1 David Zeuthen (not reading bugmail) 2010-09-06 14:57:27 UTC
Seems to be a dupe of bug 627724 - fix is simple: don't initialize stuff in class init functions.

*** This bug has been marked as a duplicate of bug 627724 ***
Comment 2 Tomas Bzatek 2010-09-08 16:18:18 UTC
Thanks for the hint, I've moved the GConf initialization away from g_vfs_backend_xxx_class_init() back to g_vfs_backend_xxx_init().

gvfs commit 5c060227daefafb6c0751422fa585483fc861515
Author: Tomas Bzatek <tbzatek@redhat.com>
Date:   Wed Sep 8 18:13:20 2010 +0200

    Move GConf initialization from backend constructor
    
    Solve the deadlock described in bug 628889