eog crashed with SIGSEGV in do_rot_270()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Eye of GNOME |
Fix Released
|
High
|
||
| eog (Ubuntu) |
Medium
|
Tom Gall | ||
| Precise |
Medium
|
Tom Gall | ||
| Quantal |
Medium
|
Tom Gall | ||
| libjpeg-turbo (Ubuntu) |
Medium
|
Unassigned | ||
| Precise |
Medium
|
Unassigned | ||
| Quantal |
Medium
|
Unassigned |
Bug Description
Impact: it's not possible to save changes on some images
Test Case:
- download https:/
- open it, rotate the image
- close eog
-> reply that you want to save that changes, that fails without the fix
Regression potential: should be limited, that just initialize datas
---
Impossible save picture.
After looking it, i try to close anq when i save, it crash ...
ProblemType: CrashDistroRelease: Ubuntu 12.04
Package: eog 3.3.92-0ubuntu1
ProcVersionSign
Uname: Linux 3.2.0-19-
ApportVersion: 1.94.1-0ubuntu2
Architecture: i386
CrashCounter: 1
Date: Wed Mar 21 09:48:37 2012
ExecutablePath: /usr/bin/eog
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
ProcCmdline: eog /home/User Name/Documents/
ProcEnviron:
LANG=fr_FR.UTF-8
SHELL=/bin/bash
SegvAnalysis:
Segfault happened at: 0x80a5819 <jtransform_
PC (0x080a5819) ok
source "(%esi,%ecx,4)" (0x65158272) not located in a known VMA region (needed readable region)!
destination "%eax" ok
Stack memory exhausted (SP below stack segment)
SegvReason: reading unknown VMA
Signal: 11SourcePackage: eog
StacktraceTop:
jtransform_
?? ()
eog_image_
?? ()
eog_job_run ()
Title: eog crashed with SIGSEGV in jtransform_
UpgradeStatus: Upgraded to precise on 2012-03-20 (0 days ago)
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
Related branches
visibility: | private → public |
description: | updated |
description: | updated |
Apport retracing service (apport) wrote : | #2 |
Changed in eog (Ubuntu): | |
importance: | Undecided → Medium |
summary: |
- eog crashed with SIGSEGV in jtransform_execute_transform() + eog crashed with SIGSEGV in do_rot_270() |
tags: | removed: need-i386-retrace |
Vadim Rutkovsky (roignac) wrote : | #5 |
Could you please attach the picture you were trying to save and specify which transformations did you perform (if any)
Changed in eog (Ubuntu): | |
status: | New → Incomplete |
I open the picture and i rotate it ... after i try to close and save it ... so it crach !!!
The picture is a scan from my hp photosmart c3130 ...
here is the picture ...
Changed in eog (Ubuntu): | |
status: | Incomplete → New |
Launchpad Janitor (janitor) wrote : | #8 |
Status changed to 'Confirmed' because the bug affects multiple users.
Changed in eog (Ubuntu): | |
status: | New → Confirmed |
affects: | eog (Ubuntu) → libjpeg-turbo (Ubuntu) |
affects: | libjpeg-turbo (Ubuntu) → libjpeg8 (Ubuntu) |
affects: | libjpeg8 (Ubuntu) → libjpeg-turbo (Ubuntu) |
Changed in libjpeg-turbo (Ubuntu): | |
assignee: | nobody → Tom Gall (tom-gall) |
Tom Gall (tom-gall) wrote : | #9 |
Thanks much for the test image and bug report. I'm able to recreate the issue locally.
In my case it's not crashing, I get an error message on the save that indicates "Maximum supported image dimension is 65500"
I have used jpegtran (a command line tool part of libjpeg-turbo-tools and rotated the image successfully with that, I believe that rules out that the original image has any errors.
I am using a newer libjpeg-turbo8 (found in ppa:linaro-
Will gdb a bit with eog, I am concerned given the error message about image sizes, that there is garbage in the image header after the rotation and that's the bug, not libjpeg-turbo attempting to save the image.
Tom Gall (tom-gall) wrote : | #10 |
Ok so looking into this. When the app crashed, is not from libjpeg-turbo8 instead it's from http://
Why this app has internal copies of these files instead of just making use of the same routines which are also provided by libjpeg-turbo is for others to answer.
Running eog in gdb looking at _save_jpeg_as_jpeg in the eog code
jpeg_stdio_src (&srcinfo, input_file);
/* Enable saving of extra markers that we want to copy */
jcopy_
/* Read file header */
(void) jpeg_read_header (&srcinfo, TRUE);
/* Any space needed by a transform option must be requested before
* jpeg_read_
*/
jtransform_
/* Read source file as DCT coefficients */
src_coef_arrays = jpeg_read_
/* Initialize destination compression parameters from source values */
jpeg_copy_
/* Adjust destination parameters if required by transform options;
* also find out which set of coefficient arrays will hold the output.
*/
--- FINE
dst_coef_arrays = jtransform_
&dstinfo,
--- NOT FINE
/* Specify data destination for compression */
jpeg_stdio_dest (&dstinfo, output_file);
/* Start compressor (note no image data is actually written here) */
jpeg_write_
by jpeg_stdio_dest, in dstinfo the jpeg_width and jpeg_height portions of the structure have garbage in them. And just after the jpeg_copy_
debug continues. Theory at this point, the old and copied jtransform_
Tom Gall (tom-gall) wrote : | #11 |
further in jtransform_
it makes a call to transpose_
Before that function, it's fine, after the noted fields jpeg_width & jpeg_height in dstinfo have garbage in it.
quite close now.
Tom Gall (tom-gall) wrote : | #12 |
The fix is two parts. (1 - an upgrade to libjpeg-turbo (which I am doing regardless) and this patch to eog.
The fix in the enclosed patch is simple, the data structure info in init_transform_
Tom Gall (tom-gall) wrote : | #13 |
EOG guys, this is a fix to your code, please take, apply and shepherd upstream.
affects: | libjpeg-turbo (Ubuntu) → eog (Ubuntu) |
Changed in eog (Ubuntu): | |
status: | Confirmed → In Progress |
Tom Gall (tom-gall) wrote : | #14 |
For the impatient, ppa:tom-
The attachment "03_initjpegtra
[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]
tags: | added: patch |
Matthias Klose (doko) wrote : | #16 |
Changed in libjpeg-turbo (Ubuntu Precise): | |
importance: | Undecided → Medium |
milestone: | none → precise-updates |
status: | New → Triaged |
Changed in eog (Ubuntu Precise): | |
milestone: | none → precise-updates |
Felix Riemann (friemann) wrote : | #17 |
Hi Tom,
I stumbled over your patch by googling the maximum image dimensions error message and I pulled it into our git:
http://
Thanks for investigating this.
Btw, we had to integrate the transupp.{c,h} files as these routines are not exported by libjpeg.
Changed in eog: | |
importance: | Unknown → High |
status: | Unknown → Fix Released |
Changed in eog (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in eog (Ubuntu Precise): | |
status: | In Progress → Fix Committed |
description: | updated |
description: | updated |
Hello Manuel, or anyone else affected,
Accepted eog into precise-proposed. The package will build now and be available at http://
If this package fixes the bug for you please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-
tags: | added: verification-needed |
Chris Halse Rogers (raof) wrote : | #19 |
I've accepted this into precise-proposed, as it seems to be fixed upstream and that should make it into Quantal. Please make sure that the Quantal task's status is correct - we won't be moving it into precise-updates until it's clear that it's being fixed in Quantal, too.
Sebastien Bacher (seb128) wrote : | #20 |
the new eog works fine, setting as verified
tags: |
added: verification-done removed: verification-needed |
Launchpad Janitor (janitor) wrote : | #21 |
This bug was fixed in the package eog - 3.4.2-0ubuntu1
---------------
eog (3.4.2-0ubuntu1) precise-proposed; urgency=low
* New upstream version
- Refuses to save file after horizontal flip (lp: #960967)
-- Sebastien Bacher <email address hidden> Wed, 13 Jun 2012 22:13:38 +0200
Changed in eog (Ubuntu Precise): | |
status: | Fix Committed → Fix Released |
Scott Kitterman (kitterman) wrote : | #22 |
I missed the note about not moving to -updates until it was clear this was being fixed in quantal. I've milestoned the bug so we don't forget.
Changed in eog (Ubuntu): | |
milestone: | precise-updates → ubuntu-12.10-beta-1 |
Kate Stewart (kate.stewart) wrote : | #23 |
cleaned up the milestoning (targeting to precise-updates for quantal didn't make sense). Targetted this to the quantal release for tracking.
Changed in eog (Ubuntu Quantal): | |
milestone: | ubuntu-12.10-beta-1 → ubuntu-12.10-beta-2 |
Changed in libjpeg-turbo (Ubuntu Quantal): | |
milestone: | precise-updates → ubuntu-12.10-beta-2 |
Rolf Leggewie (r0lf) wrote : | #24 |
quantal has seen the end of its life and is no longer receiving any updates. Marking the quantal task for this ticket as "Won't Fix".
Changed in eog (Ubuntu Quantal): | |
status: | Fix Committed → Won't Fix |
Changed in libjpeg-turbo (Ubuntu Quantal): | |
status: | Triaged → Won't Fix |
StacktraceTop: arrays= 0x65158272, src_coef_ arrays= 0xb492b26c, y_crop_ offset= 349679729, x_crop_ offset= 470103840, dstinfo=0xb5d1ac50, srcinfo=0xb5d1aa6c) at transupp-8a.c:512 execute_ transform (srcinfo= 0xb5d1aa6c, dstinfo=0xb5d1ac50, src_coef_ arrays= 0xb492b26c, info=0xb5d1aa10) at transupp-8a.c:1475 save-EWVIBW" , error=0x8568d4c, source=<optimized out>, target=<optimized out>) at eog-image- jpeg.c: 324 save_by_ info (img=0xb4917800, source=0x8539d50, error=0x8568d4c) at eog-image.c:1864
do_rot_270 (dst_coef_
jtransform_
_save_jpeg_as_jpeg (image=<optimized out>, file=0xb4903fe0 "/tmp/eog-
eog_image_
eog_job_save_run (ejob=0x8568d40) at eog-jobs.c:643