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 481741 - F-Spot crashes at GConf.Client.gconf_client_get_default on startup
F-Spot crashes at GConf.Client.gconf_client_get_default on startup
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: General
0.4.x
Other All
: Normal critical
: ---
Assigned To: F-spot maintainers
F-spot maintainers
: 526358 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-09-30 01:12 UTC by richgilson
Modified: 2008-05-12 12:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed fix (810 bytes, patch)
2008-05-06 08:45 UTC, Stephane Delcroix
committed Details | Review

Description richgilson 2007-09-30 01:12:37 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 ()



=================================================================
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.
Comment 1 Stephane Delcroix 2007-10-07 11:45:37 UTC
looks like a platform problem...

what's the installed version of gconf, libgconf, gconf-sharp ?
Comment 2 richgilson 2007-10-07 15:05:23 UTC
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.
Comment 3 Bengt Thuree 2007-11-21 19:03:02 UTC
How about the protection/ownership of this ~/Photos/photos.db 
Comment 4 richgilson 2007-11-26 02:02:51 UTC
-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.
Comment 5 Tim Retout 2008-04-24 10:54:57 UTC
(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?
Comment 6 Tim Retout 2008-04-24 10:55:31 UTC
*** Bug 526358 has been marked as a duplicate of this bug. ***
Comment 7 Johannes Jordan 2008-05-05 21:42:19 UTC
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
Comment 8 Stephane Delcroix 2008-05-06 08:45:38 UTC
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
Comment 9 Tim Retout 2008-05-10 22:15:23 UTC
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.
Comment 10 Stephane Delcroix 2008-05-12 09:02:04 UTC
Tim, can you confirm that, without the patch, you still have the dbus exception and it disappear with the patch applied ?
Comment 11 Tim Retout 2008-05-12 10:06:49 UTC
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.
Comment 12 Stephane Delcroix 2008-05-12 12:31:23 UTC
reported upstream: https://bugzilla.novell.com/show_bug.cgi?id=389328

fixed in r3906