GNOME Bugzilla – Bug 627688
crash when resizing multiple images
Last modified: 2011-04-19 15:33:40 UTC
Trying to resize multiple images with gthumb git. It properly resizes and writes the first image in a list, but then processes all the other images and segfaults at the very end without writing any of those files to the disk. jeff@kusanagi:~$ /home/jeff/trunks/gthumb/gthumb/gthumb Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. Segmentation fault Here is what I could get from gdb with my limited experience: jeff@kusanagi:~$ gdb /home/jeff/trunks/gthumb/gthumb/gthumb GNU gdb (GDB) 7.1-ubuntu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/jeff/trunks/gthumb/gthumb/gthumb...done. (gdb) run Starting program: /home/jeff/trunks/gthumb/gthumb/gthumb [Thread debugging using libthread_db enabled] [New Thread 0xb58b0b70 (LWP 17177)] [New Thread 0xb582fb70 (LWP 17178)] [New Thread 0xb57aeb70 (LWP 17179)] [New Thread 0xb572db70 (LWP 17180)] [New Thread 0xb56acb70 (LWP 17181)] [New Thread 0xb553fb70 (LWP 17182)] [New Thread 0xb4bffb70 (LWP 17183)] [New Thread 0xb43feb70 (LWP 17184)] [Thread 0xb4bffb70 (LWP 17183) exited] [New Thread 0xb4bffb70 (LWP 17185)] [Thread 0xb4bffb70 (LWP 17185) exited] [New Thread 0xb4bffb70 (LWP 17186)] [Thread 0xb4bffb70 (LWP 17186) exited] [New Thread 0xb4bffb70 (LWP 17189)] [Thread 0xb4bffb70 (LWP 17189) exited] [New Thread 0xb4bffb70 (LWP 17190)] [Thread 0xb4bffb70 (LWP 17190) exited] [New Thread 0xb4bffb70 (LWP 17191)] [New Thread 0xb3effb70 (LWP 17192)] [Thread 0xb4bffb70 (LWP 17191) exited] [Thread 0xb3effb70 (LWP 17192) exited] [New Thread 0xb3effb70 (LWP 17194)] [Thread 0xb553fb70 (LWP 17182) exited] [New Thread 0xb553fb70 (LWP 17195)] [Thread 0xb553fb70 (LWP 17195) exited] [New Thread 0xb553fb70 (LWP 17197)] [New Thread 0xb4bffb70 (LWP 17198)] Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. [Thread 0xb4bffb70 (LWP 17198) exited] [New Thread 0xb4bffb70 (LWP 17199)] [Thread 0xb4bffb70 (LWP 17199) exited] [Thread 0xb3effb70 (LWP 17194) exited] [New Thread 0xb36bbb70 (LWP 17200)] [New Thread 0xb34ffb70 (LWP 17201)] [New Thread 0xb3effb70 (LWP 17202)] [Thread 0xb3effb70 (LWP 17202) exited] [Thread 0xb36bbb70 (LWP 17200) exited] [Thread 0xb34ffb70 (LWP 17201) exited] [New Thread 0xb3effb70 (LWP 17203)] Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. [Thread 0xb3effb70 (LWP 17203) exited] [New Thread 0xb3effb70 (LWP 17204)] [New Thread 0xb4bffb70 (LWP 17205)] Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. [Thread 0xb3effb70 (LWP 17204) exited] [Thread 0xb4bffb70 (LWP 17205) exited] [New Thread 0xb4bffb70 (LWP 17207)] Program received signal SIGSEGV, Segmentation fault.
+ Trace 223352
Thread 3032480624 (LWP 17207)
(gdb) quit A debugging session is active. Inferior 1 [process 17174] will be killed. Quit anyway? (y or n) y jeff@kusanagi:~$
Thanks for taking the time to report this bug. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
What version of gThumb was being used? - Mike
This was today's git checkout. Could you tell me which debugging packages are missing so I can install them? I can't find a gdk dbg package (well, only libgdk-pixbuf2-ruby1.8-dbg on Ubuntu)
Second debugging attempt, with more dbg packages installed (namely, gtk): (gdb) run Starting program: /home/jeff/trunks/gthumb/gthumb/gthumb [Thread debugging using libthread_db enabled] [New Thread 0xb5723b70 (LWP 30117)] [New Thread 0xb569cb70 (LWP 30118)] [New Thread 0xb561bb70 (LWP 30119)] [New Thread 0xb559ab70 (LWP 30120)] [New Thread 0xb5519b70 (LWP 30121)] [New Thread 0xb53acb70 (LWP 30122)] [New Thread 0xb49ffb70 (LWP 30123)] [New Thread 0xb4babb70 (LWP 30124)] [Thread 0xb49ffb70 (LWP 30123) exited] [New Thread 0xb49ffb70 (LWP 30125)] [Thread 0xb49ffb70 (LWP 30125) exited] [New Thread 0xb49ffb70 (LWP 30126)] [Thread 0xb49ffb70 (LWP 30126) exited] [New Thread 0xb49ffb70 (LWP 30129)] [New Thread 0xb3affb70 (LWP 30130)] [Thread 0xb53acb70 (LWP 30122) exited] [Thread 0xb3affb70 (LWP 30130) exited] [New Thread 0xb3affb70 (LWP 30132)] [Thread 0xb3affb70 (LWP 30132) exited] [New Thread 0xb3affb70 (LWP 30133)] [Thread 0xb3affb70 (LWP 30133) exited] [New Thread 0xb3affb70 (LWP 30134)] [Thread 0xb3affb70 (LWP 30134) exited] [New Thread 0xb3affb70 (LWP 30136)] [New Thread 0xb53acb70 (LWP 30137)] Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. [Thread 0xb53acb70 (LWP 30137) exited] [New Thread 0xb53acb70 (LWP 30139)] [Thread 0xb53acb70 (LWP 30139) exited] [Thread 0xb3affb70 (LWP 30136) exited] [New Thread 0xb3affb70 (LWP 30140)] Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. [Thread 0xb3affb70 (LWP 30140) exited] [New Thread 0xb3affb70 (LWP 30141)] [New Thread 0xb53acb70 (LWP 30142)] Warning: Directory Minolta, entry 0x0088: Data area exceeds data buffer, ignoring it. [Thread 0xb3affb70 (LWP 30141) exited] [Thread 0xb53acb70 (LWP 30142) exited] [New Thread 0xb53acb70 (LWP 30143)] Program received signal SIGSEGV, Segmentation fault.
+ Trace 223368
Thread 3040529264 (LWP 30143)
(gdb)
Does this happen for all images, or just certain ones? - Mike
Happens with all images (I tested jpegs, and now I just tested 3 PNGs directly in my home folder).
*** Bug 623071 has been marked as a duplicate of this bug. ***
I have the exact same crash when resizing multiple images. The first one is resized and gthumb crash at the end of the progress bar. Config: Ubuntu 10.04 64bits, gthumb git 2.11.90 (26 August 2010)
This should be fixed now.
Thx but it didn't work for me. How I did the update: make distclean git pull ./autogen.sh --prefix=/usr CFLAGS="-ggdb" make sudo make install gthumb
Neither it doesn't seem fixed after my recompile
Here is my trace:
+ Trace 223413
Thread 21 (Thread 0x7fffd9262710 (LWP 20637))
Thread 1 (Thread 0x7ffff7fa47e0 (LWP 20615))
and now?
Works great now, thx very much.
Tested, confirming as fixed. Thanks!
I confirm the bug has been fixed. Yet, I see something weird: the progress bar makes little weird forward-backward movements during resize...
In few cases it still crashes when resizing multiple images. Here is the corresponding trace:
+ Trace 223443
Thread 1 (Thread 0x7ffff7fa47e0 (LWP 2184))
I cannot reproduce it, anyway I did some changes in current git that might help to fix the problem for you.
Still there. It seems it depends on the image format: images of some folders will work every time, others will fail after processing a random number of images. If I try and try again on the "wrong" images, I may succeed after a while. Here is a new trace with last changes:
+ Trace 223453
Thread 1 (Thread 0x7ffff7fa47e0 (LWP 29215))
Today, I even got a crash when resizing a single image, and gthumb exited with the following message (French): gthumb: tiffcomposite.cpp :1141 : virtual uint32_t Exiv2::Internal::TiffDirectory::doWrite(Exiv2::Internal::IoWrapper&, Exiv2::ByteOrder, int32_t, uint32_t, uint32_t, uint32_t&): L'assertion « sv == d » a échoué. Abandon
Note that I get the same crashes when attempting multiple format conversion on the same images. I also tried to change compression quality with another tool then tried to resize again with gthumb without success. I ended up using ImageMagick with success.
can you attach an image that causes the crash for you?
I do not find a specific image that will systematically crash gthumb. It only happened once on a single picture. It's kind of random. Most of the times it takes a bunch of 10-30 pictures before it crashes. I noticed the pictures I took with my camera never crash gthumb while some taken by friends' camera may crash. Thus this may be format related. Pictures, once converted with ImageMagick, do not crash gthumb anymore. I'm sorry I don't know how I can help better.
*** Bug 629824 has been marked as a duplicate of this bug. ***
*** Bug 629789 has been marked as a duplicate of this bug. ***
*** Bug 633054 has been marked as a duplicate of this bug. ***
*** Bug 633055 has been marked as a duplicate of this bug. ***
*** Bug 633053 has been marked as a duplicate of this bug. ***
*** Bug 625699 has been marked as a duplicate of this bug. ***
*** Bug 638419 has been marked as a duplicate of this bug. ***
*** Bug 639666 has been marked as a duplicate of this bug. ***
The crash described in comment 19 and comment 20 (exiv2 crash on "assert(sv == d)") is filed as a separate bug, bug 640268. If any image triggers that crash reliably, please attach it to bug 640628. Marking this bug as fixed, since the original issue is fixed. - Mike
*** Bug 642308 has been marked as a duplicate of this bug. ***
*** Bug 646515 has been marked as a duplicate of this bug. ***
*** Bug 648227 has been marked as a duplicate of this bug. ***