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 458078 - F-spot start crash
F-spot start crash
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: General
0.3.x
Other Linux
: Normal critical
: ---
Assigned To: F-spot maintainers
F-spot maintainers
: 458077 458964 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-07-18 20:08 UTC by sertinell
Modified: 2007-11-21 22:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debian's ndesk-dbus patch (3.58 KB, patch)
2007-08-14 19:58 UTC, wrobell
none Details | Review

Description sertinell 2007-07-18 20:08:00 UTC
Steps to reproduce:
1. Run the program
2. wait few seconds
3. F-spot crash without show any window


Stack trace:
$ f-spot -b /home/sertinell/Fotos/
BaseDirectory is now /home/sertinell/Fotos/
Stacktrace:

  at (wrapper managed-to-native) NDesk.GLib.IO.g_io_add_watch (NDesk.GLib.IOChannel,NDesk.GLib.IOCondition,NDesk.GLib.IOFunc,intptr) <0xffffffff>
  at (wrapper managed-to-native) NDesk.GLib.IO.g_io_add_watch (NDesk.GLib.IOChannel,NDesk.GLib.IOCondition,NDesk.GLib.IOFunc,intptr) <0x000a4>
  at NDesk.GLib.IO.AddWatch (NDesk.GLib.IOChannel,NDesk.GLib.IOCondition,NDesk.GLib.IOFunc) <0x00064>
  at NDesk.DBus.BusG.Init (NDesk.DBus.Connection,NDesk.GLib.IOFunc) <0x00080>
  at NDesk.DBus.BusG.Init (NDesk.DBus.Connection) <0x000cc>
  at NDesk.DBus.BusG.Init () <0x00044>
  at FSpot.Driver.Main (string[]) <0x00394>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0x00080>

Native stacktrace:

	f-spot [0x1016572c]
	f-spot [0x1013f0e4]
	[0x100350]
	[(nil)]
	/usr/lib/libglib-2.0.so.0(g_io_add_watch_full+0x5c) [0xff1011c]
	[0x3127ac0c]
	[0x3127aab0]
	[0x3127a794]
	[0x3127a620]
	[0x31206d78]
	[0x30b8a7a8]
	[0x30b880dc]
	f-spot [0x1013ef0c]
	f-spot(mono_runtime_invoke+0x1c) [0x100563d8]
	f-spot(mono_runtime_exec_main+0x14c) [0x1005b958]
	f-spot(mono_runtime_run_main+0x2a4) [0x1005bc4c]
	f-spot(mono_jit_exec+0xe0) [0x100134ec]
	f-spot [0x10013628]
	f-spot(mono_main+0x1714) [0x10014fd0]
	f-spot [0x100120d4]
	/lib/libc.so.6 [0xfc5afa0]
	/lib/libc.so.6 [0xfc5b1f0]

Debug info from gdb:

(no debugging symbols found)
Using host libthread_db library "/lib/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 805445168 (LWP 30939)]
[New Thread 818603184 (LWP 30941)]
[New Thread 805491888 (LWP 30940)]
(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)
(no debugging symbols found)
(no debugging symbols found)
0x0fce5a08 in fork () from /lib/libc.so.6
  3 Thread 805491888 (LWP 30940)  0x0fe92ce0 in ?? () from /lib/libpthread.so.0
  2 Thread 818603184 (LWP 30941)  0x0fe8e2b4 in pthread_cond_wait@@GLIBC_2.3.2
    () from /lib/libpthread.so.0
  1 Thread 805445168 (LWP 30939)  0x0fce5a08 in fork () from /lib/libc.so.6

Thread 1 (Thread 805445168 (LWP 30939))

  • #0 fork
    from /lib/libc.so.6
  • #1 fork
    from /lib/libpthread.so.0
  • #2 ??
    from /usr/lib/libglib-2.0.so.0
  • #3 g_spawn_sync
    from /usr/lib/libglib-2.0.so.0
  • #4 g_spawn_command_line_sync
    from /usr/lib/libglib-2.0.so.0
  • #5 ??
  • #6 ??
  • #7 <signal handler called>
  • #8 g_io_create_watch
    from /usr/lib/libglib-2.0.so.0
  • #9 g_io_add_watch_full
    from /usr/lib/libglib-2.0.so.0
  • #10 ??
  • #11 ??
  • #12 ??
  • #13 ??
  • #14 ??
  • #15 ??
  • #16 ??
  • #17 ??
  • #18 mono_runtime_invoke
  • #19 mono_runtime_exec_main
  • #20 mono_runtime_run_main
  • #21 mono_jit_exec
  • #22 ??
  • #23 mono_main
  • #24 ??
  • #25 ??
    from /lib/libc.so.6
  • #26 __libc_start_main
    from /lib/libc.so.6
  • #27 ??
  • #0 fork
    from /lib/libc.so.6


=================================================================
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.
=================================================================

Abortado


Other information:
Comment 1 Stephane Delcroix 2007-07-19 09:45:48 UTC
do you have a dbus session running ? i.e., are you running f-spot from inside a gnome-session ?

does running 'dbus-launch f-spot' helps ?
Comment 2 sertinell 2007-07-19 10:52:34 UTC
Yes, I'm running F-spot under a gnome session.
'dbus-launch f-spot' seems launch the same error.

dbus-launch f-spot:

$ dbus-launch f-spot
Stacktrace:

  at (wrapper managed-to-native) NDesk.GLib.IO.g_io_add_watch (NDesk.GLib.IOChannel,NDesk.GLib.IOCondition,NDesk.GLib.IOFunc,intptr) <0xffffffff>
  at (wrapper managed-to-native) NDesk.GLib.IO.g_io_add_watch (NDesk.GLib.IOChannel,NDesk.GLib.IOCondition,NDesk.GLib.IOFunc,intptr) <0x000a4>
  at NDesk.GLib.IO.AddWatch (NDesk.GLib.IOChannel,NDesk.GLib.IOCondition,NDesk.GLib.IOFunc) <0x00064>
  at NDesk.DBus.BusG.Init (NDesk.DBus.Connection,NDesk.GLib.IOFunc) <0x00080>
  at NDesk.DBus.BusG.Init (NDesk.DBus.Connection) <0x000cc>
  at NDesk.DBus.BusG.Init () <0x00044>
  at FSpot.Driver.Main (string[]) <0x00394>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0x00080>

Native stacktrace:

	f-spot [0x1016572c]
	f-spot [0x1013f0e4]
	[0x100350]
	[(nil)]
	/usr/lib/libglib-2.0.so.0(g_io_add_watch_full+0x5c) [0xff1011c]
	[0x3123b9dc]
	[0x3123b858]
	[0x3123b53c]
	[0x3123b3c8]
	[0x311b1b40]
	[0x30b8a7a8]
	[0x30b880dc]
	f-spot [0x1013ef0c]
	f-spot(mono_runtime_invoke+0x1c) [0x100563d8]
	f-spot(mono_runtime_exec_main+0x14c) [0x1005b958]
	f-spot(mono_runtime_run_main+0x2a4) [0x1005bc4c]
	f-spot(mono_jit_exec+0xe0) [0x100134ec]
	f-spot [0x10013628]
	f-spot(mono_main+0x1714) [0x10014fd0]
	f-spot [0x100120d4]
	/lib/libc.so.6 [0xfc5afa0]
	/lib/libc.so.6 [0xfc5b1f0]

Debug info from gdb:

(no debugging symbols found)
Using host libthread_db library "/lib/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 805445168 (LWP 3888)]
[New Thread 818603184 (LWP 3894)]
[New Thread 805491888 (LWP 3893)]
(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)
0x0fd160e8 in select () from /lib/libc.so.6
  3 Thread 805491888 (LWP 3893)  0x0fe92ce0 in ?? () from /lib/libpthread.so.0
  2 Thread 818603184 (LWP 3894)  0x0fe8e2b4 in pthread_cond_wait@@GLIBC_2.3.2
    () from /lib/libpthread.so.0
  1 Thread 805445168 (LWP 3888)  0x0fd160e8 in select () from /lib/libc.so.6

Thread 1 (Thread 805445168 (LWP 3888))

  • #0 select
    from /lib/libc.so.6
  • #1 g_spawn_sync
    from /usr/lib/libglib-2.0.so.0
  • #2 g_spawn_command_line_sync
    from /usr/lib/libglib-2.0.so.0
  • #3 ??
  • #4 ??
  • #5 <signal handler called>
  • #6 g_io_create_watch
    from /usr/lib/libglib-2.0.so.0
  • #7 g_io_add_watch_full
    from /usr/lib/libglib-2.0.so.0
  • #8 ??
  • #9 ??
  • #10 ??
  • #11 ??
  • #12 ??
  • #13 ??
  • #14 ??
  • #15 ??
  • #16 mono_runtime_invoke
  • #17 mono_runtime_exec_main
  • #18 mono_runtime_run_main
  • #19 mono_jit_exec
  • #20 ??
  • #21 mono_main
  • #22 ??
  • #23 ??
    from /lib/libc.so.6
  • #24 __libc_start_main
    from /lib/libc.so.6
  • #25 ??
  • #0 select
    from /lib/libc.so.6


=================================================================
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.
=================================================================

Abortado
Comment 3 Stephane Delcroix 2007-07-21 18:11:50 UTC
*** Bug 458964 has been marked as a duplicate of this bug. ***
Comment 4 Stephane Delcroix 2007-07-21 18:12:47 UTC
*** Bug 458077 has been marked as a duplicate of this bug. ***
Comment 5 Ruben Vermeersch 2007-07-21 18:36:37 UTC
Could you try building f-spot from SVN HEAD?

I think I ran into this too, updating it helps (or maybe just rebuilding should suffice). No idea what might cause it though.
Comment 6 Stephane Delcroix 2007-07-25 15:33:41 UTC
So... does recompiling fix it ? it looks like a gutsy problem...
Comment 7 Andy Wingo 2007-08-05 21:24:28 UTC
My problem from #458964 (assuming it is the same; I am on PPC so you never know) got fixed somewhere down the line, as the same release of f-spot works for me now. I think it was this:

ndesk-dbus-glib (0.3-2) unstable; urgency=low

  * debian/patches/01_native-signatures.dpatch:
    + Fix the signatures of the native GLib functions to prevent crashes on
      architectures where managed structs are not passed as pointer to native
      functions. This fixes the segfaults on PPC for example. (Closes: #431168)
      Thanks to Mirco Bauer for investigation.

 -- Sebastian Dröge <slomo@debian.org>  Sun, 22 Jul 2007 19:27:32 +0200

Thanks for looking into it,

Andy.
Comment 8 wrobell 2007-08-14 19:58:02 UTC
Created attachment 93676 [details] [review]
debian's ndesk-dbus patch

apply with patch -p2 < ndesk-dbus.patch
Comment 9 wrobell 2007-08-14 19:58:42 UTC
as i am aware it affects only ppc.

debian's patch for ndesk-dbus patch helps.

there is also another patch in debian, which forces f-spot to use
external ndesk-dbus-glib. imho, that's much better solution.
Comment 10 Stephane Delcroix 2007-08-27 09:40:48 UTC
> there is also another patch in debian, which forces f-spot to use
> external ndesk-dbus-glib. imho, that's much better solution.
> 

indeed, but only if it's available. It's not (yet) distributed on all distros.
Comment 11 wrobell 2007-08-27 10:34:36 UTC
well, ndesk dbus is being released for some period of time, currenly.

if f-spot (and tomboy) require external ndesk dbus, then there is
less hassle to fix software (debian's ndesk dbus patch has to be
applied to f-spot and tomboy, now). therefore a little push from
f-spot to package ndesk dbus in distros is perceived by me as
great thing. :)

but this is probably chicken and egg problem.
Comment 12 Stephane Delcroix 2007-08-27 13:46:44 UTC
as of r3316, ndesk-dbus is only compiled and bundled if it's not already installed.
Comment 13 Bengt Thuree 2007-11-21 18:41:54 UTC
Since Stephane's comment indicates that this bug should have a workaround from r3316, could someone confirm it the latest SVN fixes this problem or not?
Comment 14 Andy Wingo 2007-11-21 22:16:05 UTC
I can confirm that I can run f-spot from cvs without problems, if that's what you are asking.
Comment 15 Bengt Thuree 2007-11-21 22:25:16 UTC
Yes, since you can run it, I am closing the bug as fixed then
Thanks :)