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 391564 - Crash during export to static html gallery
Crash during export to static html gallery
Status: RESOLVED DUPLICATE of bug 382382
Product: f-spot
Classification: Other
Component: General
0.2.1
Other All
: Normal critical
: ---
Assigned To: F-spot maintainers
F-spot maintainers
Depends on:
Blocks:
 
 
Reported: 2007-01-01 17:01 UTC by apfitch
Modified: 2007-03-29 18:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Try this please (1.29 KB, patch)
2007-01-16 13:26 UTC, Stephane Delcroix
rejected Details | Review

Description apfitch 2007-01-01 17:01:10 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
Comment 1 Thomas Van Machelen 2007-01-02 08:02:25 UTC
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.
Comment 2 apfitch 2007-01-02 22:00:14 UTC
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
Comment 3 apfitch 2007-01-03 11:45:53 UTC
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
Comment 5 apfitch 2007-01-03 12:13:00 UTC
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
Comment 6 apfitch 2007-01-03 12:27:01 UTC
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
Comment 7 Larry Ewing 2007-01-03 17:06:44 UTC
ok so you did verify that turnning off SMP did fix the issue?
Comment 8 apfitch 2007-01-03 23:56:53 UTC
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
Comment 9 apfitch 2007-01-04 01:28:21 UTC
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
Comment 10 Larry Ewing 2007-01-04 16:22:40 UTC
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.
Comment 11 Larry Ewing 2007-01-08 23:43:35 UTC
what version of libexif do you have?
Comment 12 apfitch 2007-01-10 21:47:40 UTC
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
Comment 13 apfitch 2007-01-12 18:47:04 UTC
Here's the version of libexif:

rpm -q libexif
libexif-0.6.13-2

Alan
Comment 14 Stephane Delcroix 2007-01-16 13:26:48 UTC
Created attachment 80391 [details] [review]
Try this please

apfitch, can you try this patch on your smp-enabled machine ?
Comment 15 apfitch 2007-01-21 00:20:11 UTC
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
Comment 16 Larry Ewing 2007-03-29 18:52:16 UTC

*** This bug has been marked as a duplicate of 382382 ***