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 669830 - eog fails to display a jpg image - and just hangs
eog fails to display a jpg image - and just hangs
Status: RESOLVED FIXED
Product: eog
Classification: Core
Component: image viewer
3.2.x
Other Linux
: Normal normal
: ---
Assigned To: EOG Maintainers
EOG Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-02-10 19:12 UTC by Thomas Richter
Modified: 2012-06-10 13:41 UTC
See Also:
GNOME target: ---
GNOME version: 3.1/3.2


Attachments
The image eog hangs on - lena (162.68 KB, image/jpeg)
2012-02-10 19:12 UTC, Thomas Richter
Details

Description Thomas Richter 2012-02-10 19:12:14 UTC
Created attachment 207288 [details]
The image eog hangs on - lena

If the attached image is opened with eog, it just hangs. It doesn't render or display the image, but just a grey background. Other viewers and other software (xv, gimp, xine, firefox) do not show any problems opening the attached image.

No error message is generated, no output is shown.
Comment 1 André Klapper 2012-02-11 17:24:39 UTC
Hi Thomas, 
version 2.30.x is too old and not supported anymore, but I can still reproduce this with 3.2.1. Bumping version number.
Comment 2 Felix Riemann 2012-02-14 21:01:30 UTC
Does eog's window actually appear for you? Because that's the behaviour I get with 3.3.5.

Opening the image in a running instance of eog works fine.
Comment 3 Thomas Richter 2012-02-14 22:07:53 UTC
In 2.30, eog will not open the image even in a running instance.
Comment 4 Thomas Richter 2012-06-09 19:08:49 UTC
Any news on this bug?

According to my research, the bug is due to a race condition in eog_image_real_load, though I do not quite understand the program logic there.

If no additional application markers are present, the code runs into eog_image_size_prepared *before* entering eog_image_set_exif_data(), and thus the latter function finds the image dimensions already well-prepared.

If additional application markers are present, eog_image_size_prepared is *also* called, but *after* entering eog_image_set_exif_data(), and thus the code never goes into the eog_image_emit_size_prepared(). 

The code should really check at the end whether the image size was actually signalled at least once, and if not, trigger the signal then.

Could someone please fix this problem?

Thanks!
Comment 5 Felix Riemann 2012-06-10 13:41:20 UTC
Thanks, for investigating it. I fixed it in the EogWindow code as it was making the ScrollView misbehave as well and really fixing the image loading code needs an in depth review of it (especially regarding image autorotation).

commit b52d2c1c6569d4c9106ebb4dc7218c9e1981baa9
Author: Felix Riemann <>
Date:   Sun Jun 10 15:34:26 2012 +0200

    EogWindow: Make sure the window is realized after loading an image
    
    Otherwise it could happen that no window is shown if the fist image
    doesn't correctly emit its size-prepared signal correctly.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=669830
---
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.