Bug 589283
Summary: | save as jpeg eats all memory and crashes file-jpeg | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Klaus Lichtenwalder <klic> | ||||
Component: | libexif | Assignee: | Thomas Janssen <thomasj> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 12 | CC: | mattdm, nphilipp, rdieter, rhbugs, thomasj | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | libexif-0.6.19-1.fc12 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | |||||||
: | 597695 (view as bug list) | Environment: | |||||
Last Closed: | 2010-06-16 17:48:15 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 597695 | ||||||
Attachments: |
|
Description
Klaus Lichtenwalder
2010-05-05 18:28:15 UTC
Created attachment 412791 [details]
test image
How to play easier:
1. open the file one_black_pixel.xcf (of attachment).
2. save the image as one_black_pixel.JPG.
3. processor is busy for about 1 minute.
4. on-screen message:
GIMP Message
Saving '/home/bond/HOSTING/bug/one_black_pixel.JPG' failed:
JPEG image plug-in could not save image
5. console message:
Bogus marker length
This does not happen with all images, and approximately one out of 100.
P.S.
conversion to JPG works correctly in Arch Linux
(In reply to comment #1) Thanks for the easy reproducer. > P.S. > conversion to JPG works correctly in Arch Linux Which version of gimp is this? Never mind the Arch Linux gimp version... I strongly suspect Arch has a more up to date version of libexif than Fedora (which has 0.6.16 instead of .19 which is current). This is why I suspect libexif to be the culprit: In order to not have to wait for the crash too long (and clog the machine), I limited the size of virtual memory available to GIMP to 1GB: nils@gibraltar:~> ulimit -v $((1024*1024)) Then I started gimp, opening your reproducer image and attempting to save it as a JPEG: nils@gibraltar:~> gimp --stack-trace-mode=always Download/one_black_pixel.xcf /usr/lib64/gimp/2.0/plug-ins/file-jpeg: fatal error: Segmentation fault #0 0x0000003b0560ec4e in waitpid () from /lib64/libpthread.so.0 #1 0x0000003b07a159d2 in g_on_error_stack_trace () #2 0x0000003b0d212a20 in ?? () from /usr/lib64/libgimp-2.0.so.0 #3 <signal handler called> #4 0x0000003b12a13b7b in exif_set_sshort () from /usr/lib64/libexif.so.12 #5 0x0000003b12a0cbfb in ?? () from /usr/lib64/libexif.so.12 #6 0x0000003b12a0cd91 in ?? () from /usr/lib64/libexif.so.12 #7 0x0000003b12a0d339 in exif_data_save_data () from /usr/lib64/libexif.so.12 #8 0x0000000000409670 in ?? () #9 0x00000000004060a2 in ?? () #10 0x0000003b0d2126c6 in gimp_main () from /usr/lib64/libgimp-2.0.so.0 #11 0x0000003b04a1eb1d in __libc_start_main () from /lib64/libc.so.6 #12 0x00000000004058e9 in ?? () #13 0x00007fffd88d8328 in ?? () #14 0x000000000000001c in ?? () #15 0x0000000000000006 in ?? () #16 0x00007fffd88d93db in ?? () #17 0x00007fffd88d9402 in ?? () #18 0x00007fffd88d9408 in ?? () #19 0x00007fffd88d940b in ?? () #20 0x00007fffd88d940e in ?? () #21 0x00007fffd88d9413 in ?? () #22 0x0000000000000000 in ?? () The actual SEGV happens here: #4 0x0000003b12a13b7b in exif_set_sshort () from /usr/lib64/libexif.so.12 After compiling the current version of libexif (0.6.19) and running GIMP against it instead of the packaged Fedora version, I could save the image as JPEG without problems, the resulting JPEG is the expected single black pixel: nils@gibraltar:~> LD_LIBRARY_PATH=/home/nils/libexif/lib gimp --stack-trace-mode=always Download/one_black_pixel.xcf nils@gibraltar:~> eog ~/Download/chromium/one_black_pixel.jpg nils@gibraltar:~> (In reply to comment #0) > saving as png does work, though, but it does have much less exif information in > it The missing EXIF tags may be the reason why saving as PNG worked at all. On http://libexif.cvs.sourceforge.net/viewvc/libexif/libexif/NEWS?view=markup&pathrev=libexif-0_6_19-release the release notes of libexif-0.6.19 have the following: libexif-0.6.19 (2009-11-12): [...] * Fixed a heap buffer overflow during tag format conversion Changing component to libexif. Updating libexif.. libexif-0.6.19-1.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/libexif-0.6.19-1.fc13 libexif-0.6.19-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/libexif-0.6.19-1.fc12 libexif-0.6.19-1.fc13 has been pushed to the Fedora 13 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update libexif'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/libexif-0.6.19-1.fc13 libexif-0.6.19-1.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update libexif'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/libexif-0.6.19-1.fc12 Maybe I'm hitting another bug, but I'm suddenly unable to save to jpeg without getting a segfault in /usr/lib64/gimp/2.0/plug-ins/file-jpeg; Fedora 12 with gimp-2.6.8-1.fc12.x86_64. Updating from libexif-0.6.16-4.fc12.x86_64 to libexif-0.6.19-1.fc12.x86_64 has no effect. However, my symptoms are slightly different: it says nothing about "Bogus marker length", and takes nothing special to trigger -- any attempt to save any image as a jpeg, regardless of origin, fails. libexif-0.6.19-1.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report. libexif-0.6.19-1.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report. *** Bug 551755 has been marked as a duplicate of this bug. *** |