GNOME Bugzilla – Bug 391564
Crash during export to static html gallery
Last modified: 2007-03-29 18:52:16 UTC
Steps to reproduce: 1. Select photos 2. File > Export > Export to Folder 3. Select Folder: Desktop Gallery Name: GalleryTest Open Destination when done exporting: (selected) Export Method: create standalone web gallery Resize to : 400 (selected) Autorotate: (not selected) Description: (empty) 4. Click OK Stack trace: (f-spot:4139): libf-WARNING **: adding marker: 225, Exif open uri = file:///home/apf/Photos/2006/8/22/cnv00018.jpg read = 8073 approximate quality = 89 open uri = file:///home/apf/Photos/2006/8/22/cnv00018.jpg read = 8073 approximate quality = 89 open uri = file:///home/apf/Photos/2006/8/22/cnv00017.jpg read = 10006 approximate quality = 89 no options value = 2007:01:01 16:56:12 len = 19 value = f-spot version 0.2.1 len = 20 ================================================================= 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. ================================================================= Stacktrace: at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,uint&) <0x00004> at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,uint&) <0xffffffff> at Exif.ExifData.Save () <0x0003a> at PixbufUtils.SaveJpeg (Gdk.Pixbuf,string,int,Exif.ExifData) <0x00111> at PixbufUtils.Resize (string,string,int,bool) <0x0006a> at FSpot.FolderGallery.ProcessImage (int) <0x00101> at FSpot.FolderGallery.Generate () <0x00026> at FSpot.HtmlGallery.Generate () <0x00050> at FSpot.FolderExport.Upload () <0x00298> at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void () <0xffffffff> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: f-spot(mono_handle_native_sigsegv+0xe6) [0x815fc26] f-spot [0x812bd48] [0xcf9440] /lib/libc.so.6(memcpy+0x1c) [0x43c399ec] /usr/lib/libexif.so.12 [0x43b6c058] /usr/lib/libexif.so.12(exif_data_save_data+0x108) [0x43b6d578] [0x9bad76] [0x9bac9b] [0x9b950a] [0xb53f1b] [0xb9bd22] [0xb53cb7] [0xb53989] [0xb52cc9] [0x80e5f0] [0xafdd31] f-spot(mono_runtime_delegate_invoke+0x36) [0x80d98a6] f-spot [0x8097c69] f-spot [0x80ffa52] f-spot [0x811d287] /lib/libpthread.so.0 [0x43d3f3db] /lib/libc.so.6(clone+0x5e) [0x43c9906e] Aborted Other information: 1. The bug is intermittent (doesn't happen every time) :-( Dual core processor (P4 D) 2. uname -a Linux apfitch2 2.6.18-1.2868.fc6 #1 SMP Fri Dec 15 17:32:54 EST 2006 i686 i686 i386 GNU/Linux 3. rpm -q f-spot f-spot-0.2.1-1.fc6 4. rpm -qa | grep mono mono-data-sqlite-1.1.17.1-3.fc6 mono-core-1.1.17.1-3.fc6 mono-web-1.1.17.1-3.fc6 mono-data-1.1.17.1-3.fc6
To narrow down the problem a bit: the reason it doesn't happen every time might be that the export crashes on some files and not all. When you export to folder and f-spot crashes, the file that causes the problem should be the one that is the first not to appear in your destination folder.
Hi Thomas, the bug does not occur on a particular file each time. I am exporting the same set of files each time, and sometimes it crashes. If I repeat the export on a small set of files (less than about 30 jpegs) it will sometimes succeed. However it does not fail on the same jpeg each time. On my complete set files (about 300 jpegs) it has never completed successfully. regards I will see if I can install the latest released version. Because I am using FC6 and rpm, I got 0.2.1 by default. Alan
I've now upgraded my fc6 installation, Kernel is uname -a Linux apfitch2 2.6.18-1.2869.fc6 #1 SMP Wed Dec 20 14:51:19 EST 2006 i686 i686 i386 GNU/Linux I installed f-spot from cvs last night. The version is still 0.3.0, but the export menu has more option, so I believe it's the cvs version. Again, it intermittently crashes. Sometimes I can export 30 jpegs without a crash. Other times it crashes. It isn't consistent (it doesn't always crash at the same place). I used the same settings as before (400 pixels). I also tried default settings (800 pixels, autorotate) and still got crashes. Here is the last crash - 400 pixels, cvs version at timestamp Jan 3 01:20 GMT I could send the photograph it was processing but they are 2.4MBytes - is that too big to attach? Alan <snipped earlier photographs> open uri = file:///home/apf/Photos/2006/10/26/dscf0174.jpg open uri = file:///home/apf/Photos/2006/10/26/dscf0174.jpg open uri = file:///home/apf/Photos/2006/10/26/dscf0173.jpg open uri = file:///home/apf/Photos/2006/10/26/dscf0173.jpg value = f-spot version 0.3.0 len = 20 value = 2007:01:03 11:37:50 len = 19 ================================================================= 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. ================================================================= Stacktrace: at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,uint&) <0x00004> at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,uint&) <0xffffffff> at Exif.ExifData.Save () <0x0003a> at JpegHeader.SetExif (Exif.ExifData) <0x0001f> at FSpot.JpegFile.SaveMetaData (System.IO.Stream,System.IO.Stream) <0x0004e> at FSpot.JpegFile.Save (Gdk.Pixbuf,System.IO.Stream) <0x00157> at FSpot.Filters.ResizeFilter.Convert (FSpot.Filters.FilterRequest) <0x001a0> at FSpot.Filters.FilterSet.Convert (FSpot.Filters.FilterRequest) <0x000ee> at FSpot.FolderGallery.ProcessImage (int,FSpot.Filters.FilterSet) <0x00110> at FSpot.FolderGallery.Generate () <0x000e2> at FSpot.HtmlGallery.Generate () <0x00050> at FSpot.FolderExport.Upload () <0x0028f> at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void () <0xffffffff> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: f-spot(mono_handle_native_sigsegv+0xe6) [0x815fc26] f-spot [0x812bd48] [0x6c3440] /lib/libc.so.6(memcpy+0x1c) [0x43c399ec] /usr/lib/libexif.so.12 [0x43b6c058] /usr/lib/libexif.so.12(exif_data_save_data+0x108) [0x43b6d578] [0x1ebb96] [0x1ebabb] [0x1eba18] [0x1eb3af] [0x852330] [0x851189] [0x850ecf] [0x850a61] [0x850743] [0x850311] [0x84f528] [0x7ff9f8] [0xb9dcd1] f-spot(mono_runtime_delegate_invoke+0x36) [0x80d98a6] f-spot [0x8097c69] f-spot [0x80ffa52] f-spot [0x811d287] /lib/libpthread.so.0 [0x43d3f3db] /lib/libc.so.6(clone+0x5e) [0x43c9906e] Aborted
See also http://www.mail-archive.com/f-spot-list@gnome.org/msg02389.html http://mail.gnome.org/archives/f-spot-list/2006-December/msg00003.html
See also http://www.nabble.com/Lots-of-crashes-t1066304.html Says that booting with nosmp fixes the bug. I will try that, as I am running on a dual core machine, Alan
My bug is the same as bug 330095 which is supposed to be fixed :-( I have also seen bug 333071, so I will add a comment to that bug. Alan
ok so you did verify that turnning off SMP did fix the issue?
Hi Larry, to use nosmp I had to boot with nosmp noapic With both these boot options added, the issue does appear to have gone. I successfully exported 300 jpegs first time, using both 0.2.1 and the version from cvs. I don't understand what noapic does - my next test is to see if I can boot with just noapic and see if that also fixes the problem. Alan
I've now tried noapic on its own, and it doesn't help, I got crashes again. So it appears that nosmp noapic fixes the problem at the cost of disabling one processor, regards Alan
ok, so it is almost certainly a threading problem in libexif. I'll look into it as soon as I finish the feature work I'm in the middle of.
what version of libexif do you have?
Hi Larry, I'm away from my computer this week. I can get an answer on Friday (it's whatever version with Fedora Core 6) Alan
Here's the version of libexif: rpm -q libexif libexif-0.6.13-2 Alan
Created attachment 80391 [details] [review] Try this please apfitch, can you try this patch on your smp-enabled machine ?
Hi Stephane, I tried the patch (sorry for the delay, I was away on business). I patched the latest version from subversion, as follows. su root svn co http://svn.gnome.org/svn/f-spot/trunk f-spot cd f-spot patch -p0 -i patch_exifsave ./autogen.sh make make install exit but it didn't help. I got the following crash: regards Alan ================================================================= 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. ================================================================= Stacktrace: at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,intptr&) <0x00004> at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,intptr&) <0xffffffff> at Exif.ExifData.Save () <0x0003a> at JpegHeader.SetExif (Exif.ExifData) <0x0001f> at FSpot.JpegFile.SaveMetaData (System.IO.Stream,System.IO.Stream) <0x0004e> at FSpot.JpegFile.Save (Gdk.Pixbuf,System.IO.Stream) <0x00157> at FSpot.Filters.ResizeFilter.Convert (FSpot.Filters.FilterRequest) <0x001a0> at FSpot.Filters.FilterSet.Convert (FSpot.Filters.FilterRequest) <0x000ee> at FSpot.FolderGallery.ProcessImage (int,FSpot.Filters.FilterSet) <0x0010e> at FSpot.FolderGallery.Generate () <0x000e2> at FSpot.HtmlGallery.Generate () <0x00050> at FSpot.FolderExport.Upload () <0x0028f> at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void () <0xffffffff> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: f-spot(mono_handle_native_sigsegv+0xe6) [0x814f9b6] f-spot [0x811bad8] [0xd4b440] /lib/libc.so.6(memcpy+0x1c) [0x47763b8c] /usr/lib/libexif.so.12 [0x48654058] /usr/lib/libexif.so.12(exif_data_save_data+0x108) [0x48655578] [0x6c746e] [0x6c7363] [0x6c72c0] [0x6c6c57] [0x6c4b98] [0x6c39f1] [0x6c3737] [0x6c3187] [0x6c2e6b] [0x6c2a39] [0x6c1bb0] [0x9ff1a0] [0x116d21] f-spot(mono_runtime_delegate_invoke+0x36) [0x80e1d36] f-spot [0x80c17b9] f-spot [0x80fb722] f-spot [0x8118bc7] /lib/libpthread.so.0 [0x478693db] /lib/libc.so.6(clone+0x5e) [0x477c326e] Aborted
*** This bug has been marked as a duplicate of 382382 ***