GNOME Bugzilla – Bug 481741
F-Spot crashes at GConf.Client.gconf_client_get_default on startup
Last modified: 2008-05-12 12:31:23 UTC
Steps to reproduce: 1. type f-spot -b ~/Photos Stack trace: (/usr/local/lib/f-spot/f-spot.exe:21226): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.14.1/gobject/gtype.c:2242: initialization assertion failed, use IA__g_type_init() prior to this function (/usr/local/lib/f-spot/f-spot.exe:21226): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (/usr/local/lib/f-spot/f-spot.exe:21226): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed Stacktrace: at (wrapper managed-to-native) GConf.Client.gconf_client_get_default () <0x00004> at (wrapper managed-to-native) GConf.Client.gconf_client_get_default () <0xffffffff> at GConf.Client..ctor () <0x0003e> at FSpot.Preferences.get_Client () <0x00024> at FSpot.Preferences.Get (string) <0x00018> at FSpot.Global..cctor () <0x0003f> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> at FSpot.Driver.Main (string[]) <0xffffffff> at FSpot.Driver.Main (string[]) <0x00105> at (wrapper runtime-invoke) System.Object.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: f-spot [0x8194ca6] f-spot [0x81770ed] [0xffffe440] /usr/lib/libgconf-2.so.4(gconf_client_get_default+0xa9) [0xb6c77199] [0xb6ca01ba] [0xb6c9ffd7] [0xb6c9fee5] [0xb6c9fc01] [0xb6c9f220] [0xb719c108] f-spot [0x8176f50] f-spot(mono_runtime_invoke+0x27) [0x80b0b2f] f-spot(mono_runtime_class_init+0x3e6) [0x80b4140] f-spot [0x8164d4f] f-spot [0x81751ee] f-spot [0x8176329] f-spot [0x817699e] f-spot [0x8176a98] f-spot(mono_compile_method+0x3b) [0x80b13bd] f-spot [0x808fe5a] [0xb7b5c032] [0xb719c075] f-spot [0x8176f50] f-spot(mono_runtime_invoke+0x27) [0x80b0b2f] f-spot(mono_runtime_exec_main+0x142) [0x80b5383] f-spot(mono_runtime_run_main+0x27e) [0x80b5631] f-spot(mono_jit_exec+0xbd) [0x805a4cb] f-spot [0x805a5a8] f-spot(mono_main+0x1683) [0x805bdc9] f-spot [0x8059636] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb7cb3050] f-spot [0x80595b1] Debug info from gdb: (no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1211517232 (LWP 21226)] [New Thread -1223058544 (LWP 21228)] [New Thread -1217274992 (LWP 21227)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) 0xffffe410 in __kernel_vsyscall () 3 Thread -1217274992 (LWP 21227) 0xffffe410 in __kernel_vsyscall () 2 Thread -1223058544 (LWP 21228) 0xffffe410 in __kernel_vsyscall () 1 Thread -1211517232 (LWP 21226) 0xffffe410 in __kernel_vsyscall ()
+ Trace 166516
================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Other information: I've also tried SVN head, to no avail. If I load up f-spot without pointing it to my photos.db file, it works fine, but when I point it to the database that I already have, it crashes. However, if I load it on my other computer, which is running 0.4.0, it works just fine. I'm not sure what could be causing it. Any help would be greatly appreciated. I'm running Kubuntu 7.10 Beta, but I also had the problem on Kubuntu 7.04. My box that is working correctly is Kubuntu 7.04.
looks like a platform problem... what's the installed version of gconf, libgconf, gconf-sharp ?
Okay, I don't think it's a platform issue because I've discovered something new since I posted this bug (just figured it out yesterday.) I still get the crash on the latest SVN version, but only if I use the -b option. If I move the photos.db file to the ~/.gnome2/f-spot directory, everything works fine. So, it seems to me that there is a bug with the -b command line parameter.
How about the protection/ownership of this ~/Photos/photos.db
-rw-r--r-- 1 rich rich 16384 2007-11-07 20:36 photos.db This is what the file was when it was in the ~/Photos directory. All I did was move it to ~/.gnome2/f-spot without changing anything else and it worked.
(In reply to comment #0) > However, if I load it on my other computer, which is running 0.4.0, it works > just fine. I'm not sure what could be causing it. Any help would be greatly > appreciated. > > I'm running Kubuntu 7.10 Beta, but I also had the problem on Kubuntu 7.04. My > box that is working correctly is Kubuntu 7.04. There is a similar report at bug #526358, caused by the gconf daemon not being started. I'm going to mark it as a duplicate of this bug, because both crash at the same place, in the GConf constructor. (Retitling this bug to make that clearer.) It has steps for reproducing this bug. (In reply to comment #2) > I still get the crash on the latest SVN version, but only if I use the -b > option. If I move the photos.db file to the ~/.gnome2/f-spot directory, > everything works fine. So, it seems to me that there is a bug with the -b > command line parameter. I think this is a red herring - I can't reproduce the problems with -b. If gconfd-2 isn't running, however, I get a very similar crash. Is it possible that gconfd isn't getting started because you are using KDE?
*** Bug 526358 has been marked as a duplicate of this bug. ***
I've got the same problem. See my output below. I hope this helps you fixing the bug. Even if you think it's a platform problem, the end user should be given a more informative message. :) [ypnos@lanrules upload]$ f-spot (/usr/lib/f-spot/f-spot.exe:25369): GLib-GObject-CRITICAL **: gtype.c:2248: initialization assertion failed, use IA__g_type_init() prior to this function (/usr/lib/f-spot/f-spot.exe:25369): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (/usr/lib/f-spot/f-spot.exe:25369): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed Stacktrace: at (wrapper managed-to-native) GConf.Client.gconf_client_get_default () <0x00004> at (wrapper managed-to-native) GConf.Client.gconf_client_get_default () <0xffffffff> at GConf.Client..ctor () <0x0003b> at FSpot.GConfPreferenceBackend.get_Client () <0x0001f> at FSpot.GConfPreferenceBackend.AddNotify (string,FSpot.NotifyChangedHandler) <0x00032> at FSpot.Preferences.get_Backend () <0x0006b> at FSpot.Preferences.Get (string) <0x00074> at FSpot.Driver.Main (string[]) <0x00112> at (wrapper runtime-invoke) FSpot.Driver.runtime_invoke_int_string[] (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: f-spot [0x8170484] f-spot [0x807f0fb] [0xb7f34440] /usr/lib/libgconf-2.so.4(gconf_client_get_default+0xf8) [0xb6abd558] [0xb7614723] [0xb76141dc] [0xb7614178] [0xb76140e3] [0xb7613fe4] [0xb7613bb5] [0xb7610863] [0xb76101d4] f-spot(mono_runtime_exec_main+0xf7) [0x8101837] f-spot(mono_runtime_run_main+0x16d) [0x8101e1d] f-spot(mono_main+0x623) [0x805ade3] f-spot [0x805a2d2] /lib/libc.so.6(__libc_start_main+0xe6) [0xb7cec396] f-spot [0x805a211] ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Aborted [ypnos@lanrules bilder]$ gconftool-2 --shutdown [ypnos@lanrules bilder]$ gconftool-2 --spawn [ypnos@lanrules bilder]$ f-spot System.ApplicationException: F-Spot cannot find the Dbus session bus. Make sure dbus is configured properly or start a new session for f-spot using "dbus-launch f-spot" ---> System.Exception: Unable to open the session message bus. ---> System.ArgumentNullException: Argument cannot be null. Parameter name: address at NDesk.DBus.Bus.Open (System.String address) [0x00000] at NDesk.DBus.Bus.get_Session () [0x00000] --- End of inner exception stack trace --- at NDesk.DBus.Bus.get_Session () [0x00000] at NDesk.DBus.BusG.Init () [0x00000] at FSpot.Driver.Main (System.String[] args) [0x00000] --- End of inner exception stack trace --- at FSpot.Driver.Main (System.String[] args) [0x00000] [ypnos@lanrules bilder]$ dbus-launch f-spot Initializing Mono.Addins Starting new FSpot server
Created attachment 110444 [details] [review] proposed fix this is a patch against svn that should fix the bug. I can't reproduce it here so I need your input. If you're not running f-spot from svn, but you're building it yourself from a release, I can produce a patch for the release you're running... just ask
I can confirm that this patch fixes the problem, using the instructions from bug #526358. gconfd-2 is started; I still get the dbus exception.
Tim, can you confirm that, without the patch, you still have the dbus exception and it disappear with the patch applied ?
To be clear: yes, the patch fixes the critical warnings/assertion failure about gconf. The dbus exception is a separate issue, so I didn't expect it to be fixed here, although maybe it should be.
reported upstream: https://bugzilla.novell.com/show_bug.cgi?id=389328 fixed in r3906