Bug 16615 - gwenview displays some images with wrong orientation
Summary: gwenview displays some images with wrong orientation
Status: RESOLVED OLD
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: KDE maintainers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-19 20:38 CEST by Pierre Fortin
Modified: 2018-05-03 07:29 CEST (History)
3 users (show)

See Also:
Source RPM: gwenview-4.14.3-2.mga5
CVE:
Status comment:


Attachments
sample images (254.64 KB, application/octet-stream)
2015-08-20 01:29 CEST, Pierre Fortin
Details

Description Pierre Fortin 2015-08-19 20:38:09 CEST
Description of problem:  I have a script which takes images and shrinks their file sizes to quicker upload to a real estate MLS system.  I start with a folder of 3264x1836 images (transferred from a cell phone). I run the script which creates folder "MLS" and converts all the large images into smaller ones in the MLS folder.

# my script can be reduced to this single command for testing:
$ for F in $(ls *g); do convert -auto-orient -quality 25 $F MLS/$F; done

Then, when I view the original images, they appear correctly. However, when I view the images in the MLS folder, several images display in the wrong orientation.  

This drove me nuts trying to find a bug in my script; until I checked the wrong images with various other tools:
$ exiftool -Orientation <image>
$ display <image>
$ gqview .
These all display the correct orientation.

Starting with a folder 3264x1836 images (#1-#37) and one 3264x2448 image(#38):
- all original images but 18 & 20 are vertically oriented
- after convert, images 18 & 20 are correctly horizontal; but images 3, 4, 12, 25, 26, 30-38 are incorrectly horizontal. If I view any of these images, they show correctly.

In slideshow mode, the same thumbnails are wrong; but the large images are correct.  

Version-Release number of selected component (if applicable):
$ gwenview --version
Qt: 4.8.6
KDE Development Platform: 4.14.5
Gwenview: 4.14.0 pre


How reproducible: always


Steps to Reproduce:
1. run above command
2. use gwenview to view images
3. enter directory MLS -> several images have wrong orientation (thumbnails only)


Reproducible: 

Steps to Reproduce:
Comment 1 Pierre Fortin 2015-08-19 20:42:48 CEST
Was going to attach:
-rw-r--r-- 1 pfortin pfortin 27093187 Aug 19 14:39 bug16615_images.tgz
but there is a 1MB limit on file uploads.
Let me know where/how to provide this file...
Comment 2 Pierre Fortin 2015-08-20 01:29:18 CEST
Created attachment 6938 [details]
sample images

Sampling of images which illustrates the bug.

File MLS/20150817_182153.jpg is horizontally oriented in the thumbnails; but OK in full size.  While viewing the incorrect thumbnail:
- select it
- Ctrl+R (to rotate it right -- note how it rotates 180deg instead of 90deg)
- Ctrl+L (note how it rotates 90deg)
Comment 3 Barry Jackson 2015-08-20 14:57:45 CEST
Can you test in a Mageia 4 system (maybe in a VM) it could be related to https://bugs.mageia.org/show_bug.cgi?id=16347

CC: (none) => zen25000

Comment 4 Pierre Fortin 2015-08-20 16:43:55 CEST
I have no clue how to verify which Qt version is used by which app; but I just checked the images with gqview (switched the list view to icon) and the thumbnails are all OK.  Guessing gqview may not use Qt5...
I don't see other viable thumbnail/image viewers to try.
Will try on a remote mga4 system when I can get there.
Comment 5 Barry Jackson 2015-08-20 18:33:05 CEST
(In reply to Pierre Fortin from comment #4)
> I have no clue how to verify which Qt version is used by which app; but I
> just checked the images with gqview (switched the list view to icon) and the
> thumbnails are all OK.  Guessing gqview may not use Qt5...
> I don't see other viable thumbnail/image viewers to try.
> Will try on a remote mga4 system when I can get there.

I searched the gwenview source files looking for the function that probably causes the issues in phototonic, and I could not find it, so that qt code may not be used in gwenview. Also in normal (GUI) use I have not seen any orientation issues in gwenview (and I have been testing that a lot while trying to debug the phototonic problem) so this may be unrelated.
You could test in Mageia 5 using the qt 5.4.2 packages in Mageia 5 core/updates_testing repo.
Comment 6 Pierre Fortin 2015-08-21 04:12:04 CEST
checked gwenview on mga4 system -- it displays correctly.  HTH
Comment 7 Barry Jackson 2015-08-21 12:31:56 CEST
(In reply to Pierre Fortin from comment #6)
> checked gwenview on mga4 system -- it displays correctly.  HTH

Well it proves it's not your script but it is still inconclusive as to whether it's a qt issue.
I'm trying to test this in Mga5 with qt5-5.4.2 but your one-liner does not work with any images I have.
Could you attach a few of your originals as just binary files so they don't get corrupted.
Thanks
Comment 8 Pierre Fortin 2015-08-21 14:13:12 CEST
comment 2 contains 2 images[1] (pre-shrunk to allow upload) and 2 post-convert[2] in folder MLS.
For _original_ images, the upload limit of "1000 KB" will have to lifted; or let me know where else I can upload them.

[1] these show correctly here
[2] these are wrong here

I still don't get what in the images that don't display correctly might be different[3] from the other images....  will try to do more analysis of the original images to see if I can find a clue...  my full script also generates smaller versions of the original images in another folder, and those are fine in gwenview...  puzzling; but we'll get to the bottom of this...  :)

[3] just did a quick check via exiftool of good v. bad image in the MLS folder and there is no unexpected difference...  :?
Comment 9 Barry Jackson 2015-08-21 18:34:01 CEST
(In reply to Pierre Fortin from comment #8)
> comment 2 contains 2 images[1] (pre-shrunk to allow upload) and 2
> post-convert[2] in folder MLS.
> For _original_ images, the upload limit of "1000 KB" will have to lifted; or
> let me know where else I can upload them.

You can email them direct to me :)
Comment 10 Barry Jackson 2015-08-22 01:56:06 CEST
Checking Pierre's images in gwenview on my machine with qt5-5.4.2 installed, they all display correctly. :)
Comment 11 Pierre Fortin 2015-08-22 03:04:02 CEST
Installed 5.4.2; but still have the issue...  lsof shows that gwenview is using qt4. :?
Comment 12 Barry Jackson 2015-08-22 12:07:56 CEST
(In reply to Pierre Fortin from comment #11)
> Installed 5.4.2; but still have the issue...  lsof shows that gwenview is
> using qt4. :?

Yes same here, but here your files are fine in gwenview - strange.

What's your output of:
[baz@localhost ~]$ rpm -qa|grep qt|grep "\-5\.4"
lib64qt5dbus5-5.4.2-1.1.mga5
lib64qt5network5-5.4.2-1.1.mga5
qttranslations5-5.4.2-1.mga5
lib64qt5widgets5-5.4.2-1.1.mga5
lib64qtx11extras5-5.4.2-1.mga5
lib64qt5core5-5.4.2-1.1.mga5
lib64qtsvg5-5.4.2-1.mga5
qtbase5-common-5.4.2-1.1.mga5
lib64qt5gui5-5.4.2-1.1.mga5
lib64qt5xml5-5.4.2-1.1.mga5
qtimageformats5-5.4.2-1.mga5
Comment 13 Barry Jackson 2015-08-22 13:37:33 CEST
I just downgraded qt5 packages to 5.4.0 again and now in gwenview 'browse' view they are wrong, however in individual image view they display correctly.
I'm not sure if I used the browse view with 5.4.2 so I will reinstall it again and double check.
Comment 14 Barry Jackson 2015-08-22 14:26:03 CEST
No they are still wrong in 'browse' view (i.e. all image thumnails (?) on screen together) with 5.4.2 installed, so it looks like this is a different issue after all.

Phototonic displays them all correctly in both thumbnail and full screen views with either qt version installed. Maybe that would be an alternative program to use for now.

I guess this needs reporting to gwenview upstream.

CC: (none) => neoclust

Comment 15 Pierre Fortin 2015-08-22 18:30:53 CEST
Replying to comment 12:

# rpm -qa|grep qt|grep "\-5\.4"  
lib64qt5webkit5-5.4.2-1.mga5
python-qt5-test-5.4-1.mga5
lib64qt5network5-5.4.2-1.1.mga5
lib64qt5webkitwidgets5-5.4.2-1.mga5
lib64qtclucene5-5.4.0-2.mga5
qtbase5-common-devel-5.4.2-1.1.mga5
lib64qt5quickwidgets5-5.4.2-1.mga5
lib64qt5widgets5-5.4.2-1.1.mga5
python-qt5-xml-5.4-1.mga5
lib64qt5opengl5-5.4.2-1.1.mga5
python-qt5-dbus-5.4-1.mga5
lib64qtxmlpatterns5-5.4.0-1.mga5
lib64qt5printsupport-devel-5.4.2-1.1.mga5
lib64qtx11extras5-5.4.0-1.mga5
lib64qt5xml5-5.4.2-1.1.mga5
python-qt5-xmlpatterns-5.4-1.mga5
lib64qt5concurrent-devel-5.4.2-1.1.mga5
qtdoc5-5.4.0-1.mga5
lib64qt5gui5-5.4.2-1.1.mga5
python-qt5-sql-5.4-1.mga5
lib64qt5dbus-devel-5.4.2-1.1.mga5
python-qt5-quick-5.4-1.mga5
python-qt5-gui-5.4-1.mga5
lib64qt5widgets-devel-5.4.2-1.1.mga5
lib64qt5xml-devel-5.4.2-1.1.mga5
python-qt5-websockets-5.4-1.mga5
qtquickcontrols5-5.4.0-2.mga5
lib64qt5quicktest5-5.4.0-2.mga5
lib64qt5test5-5.4.2-1.1.mga5
lib64qt5base5-devel-5.4.2-1.1.mga5
python-qt5-x11extras-5.4-1.mga5
python-qt5-positioning-5.4-1.mga5
lib64qt5multimedia5-5.4.2-1.mga5
lib64qtdesigner5-5.4.0-2.mga5
lib64qt5qml-devel-5.4.2-1.mga5
python-qt5-qml-5.4-1.mga5
lib64qt5quick5-5.4.2-1.mga5
lib64qt5concurrent5-5.4.2-1.1.mga5
python-qt5-widgets-5.4-1.mga5
lib64qthelp5-5.4.0-2.mga5
python-qt5-core-5.4-1.mga5
lib64qt5sql5-5.4.2-1.1.mga5
lib64qt5quick-devel-5.4.2-1.mga5
lib64qt5core5-5.4.2-1.1.mga5
lib64qt5multimediawidgets5-5.4.2-1.mga5
python-qt5-opengl-5.4-1.mga5
lib64qt5sql-devel-5.4.2-1.1.mga5
qtbase5-examples-5.4.0-7.mga5
qttranslations5-5.4.0-1.mga5
lib64qt5declarative5-5.4.2-1.mga5
qtxmlpatterns5-xmlpatterns-5.4.0-1.mga5
lib64qt5dbus5-5.4.2-1.1.mga5
lib64qt5opengl-devel-5.4.2-1.1.mga5
python-qt5-designer-5.4-1.mga5
lib64qtsvg5-5.4.0-1.mga5
qtdeclarative5-5.4.2-1.mga5
lib64qt5test-devel-5.4.2-1.1.mga5
python-qt5-svg-5.4-1.mga5
lib64qt5positioning5-5.4.0-1.mga5
lib64qt5printsupport5-5.4.2-1.1.mga5
lib64qtscript5-5.4.0-1.mga5
python-qt5-help-5.4-1.mga5
python-qt5-examples-5.4-1.mga5
lib64qt5bootstrap-devel-5.4.2-1.1.mga5
python-qt5-serialport-5.4-1.mga5
lib64qt5qml5-5.4.2-1.mga5
lib64qt5webkit-devel-5.4.2-1.mga5
python-qt5-network-5.4-1.mga5
lib64qt5quickparticles5-5.4.0-2.mga5
lib64qtwebsockets5-5.4.0-1.mga5
lib64qt5core-devel-5.4.2-1.1.mga5
qtbase5-common-5.4.2-1.1.mga5
python-qt5-doc-5.4-1.mga5
lib64qt5gui-devel-5.4.2-1.1.mga5
qtbase5-database-plugin-sqlite-5.4.0-7.mga5
lib64qt5network-devel-5.4.2-1.1.mga5
python-qt5-printsupport-5.4-1.mga5

Also installed:
# rpm -qa|grep qt4
python-qt4-gui-4.11.3-1.mga5
python-qt4-script-4.11.3-1.mga5
qt4-qtdbus-4.8.6-9.mga5
qt4-doc-4.8.6-9.mga5
qt4-database-plugin-sqlite-4.8.6-9.mga5
python-qt4-multimedia-4.11.3-1.mga5
python3-qt4-declarative-4.11.3-1.mga5
python-qt4-network-4.11.3-1.mga5
lib64poppler-qt4_4-0.26.5-2.mga5
python3-qt4-test-4.11.3-1.mga5
python3-qt4-core-4.11.3-1.mga5
python-qt4-4.11.3-1.mga5
python3-qt4-help-4.11.3-1.mga5
lib64telepathy-qt4_2-0.9.5-1.mga5
python-qt4-svg-4.11.3-1.mga5
python-qt4-webkit-4.11.3-1.mga5
python-qt4-core-4.11.3-1.mga5
python-qt4-opengl-4.11.3-1.mga5
qt4-common-4.8.6-9.mga5
python3-qt4-gui-4.11.3-1.mga5
python-qt4-qscintilla-2.8.1-1.mga5
python3-qt4-examples-4.11.3-1.mga5
python3-qt4-xmlpatterns-4.11.3-1.mga5
qt4-designer-plugin-qt3support-4.8.6-9.mga5
python-qt4-declarative-4.11.3-1.mga5
python3-qt4-4.11.3-1.mga5
qt4-designer-plugin-webkit-4.8.6-9.mga5
lib64qt4-devel-4.8.6-9.mga5
python-qt4-test-4.11.3-1.mga5
python3-qt4-xml-4.11.3-1.mga5
qt4-designer-plugin-phonon-4.8.3-2.mga5
qt4-designer-4.8.6-9.mga5
lib64telepathy-logger-qt4_1-0.8.0-5.mga5
python3-qt4-network-4.11.3-1.mga5
python3-qt4-webkit-4.11.3-1.mga5
python3-qt4-phonon-4.11.3-1.mga5
python-qt4-sql-4.11.3-1.mga5
python3-qt4-multimedia-4.11.3-1.mga5
python3-qt4-doc-4.11.3-1.mga5
qt4-database-plugin-mysql-4.8.6-9.mga5
qt4-qtconfig-4.8.6-9.mga5
python3-qt4-sql-4.11.3-1.mga5
python-qt4-xml-4.11.3-1.mga5
python-qt4-dbus-4.11.3-1.mga5
python3-qt4-scripttools-4.11.3-1.mga5
python-qt4-xmlpatterns-4.11.3-1.mga5
openssh-askpass-qt4-1.0.1-8.mga5
python3-qt4-opengl-4.11.3-1.mga5
python3-matplotlib-qt4-1.4.3-1.mga5
pinentry-qt4-0.8.3-4.mga5
python3-qt4-svg-4.11.3-1.mga5
python3-qt4-designer-4.11.3-1.mga5
python3-qt4-dbus-4.11.3-1.mga5
python3-qt4-script-4.11.3-1.mga5
python-qt4-designer-4.11.3-1.mga5
qt4-xmlpatterns-4.8.6-9.mga5
Comment 16 Pierre Fortin 2015-08-22 18:33:12 CEST
# lsof | grep gwenview | grep qt4
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/500/gvfs
      Output information may be incomplete.
gwenview  12933  pfortin  mem  REG  8,5  33152  6459 /usr/lib64/qt4/plugins/imageformats/libqtiff.so
gwenview  12933  pfortin  mem  REG  8,5  24584  6234 /usr/lib64/qt4/plugins/imageformats/libqtga.so
gwenview  12933  pfortin  mem  REG  8,5  24680  6052 /usr/lib64/qt4/plugins/imageformats/libqsvg.so
gwenview  12933  pfortin  mem  REG  8,5  29424  6051 /usr/lib64/qt4/plugins/imageformats/libqmng.so
gwenview  12933  pfortin  mem  REG  8,5  33280  6050 /usr/lib64/qt4/plugins/imageformats/libqjpeg.so
gwenview  12933  pfortin  mem  REG  8,5  33224  5646 /usr/lib64/qt4/plugins/imageformats/libqico.so
gwenview  12933  pfortin  mem  REG  8,5  33104  1912 /usr/lib64/qt4/plugins/imageformats/libqgif.so
Marja Van Waes 2016-10-16 16:30:49 CEST

CC: (none) => marja11
Assignee: bugsquad => kde

Comment 17 Marja Van Waes 2018-05-03 07:29:23 CEST
@ Pierre,

Thank you for having taken the needed time to report this issue!

We regret if this issue didn't get fixed in Mageia 5.

Mageia 5 has officially reached its End of Life on December 31st, 2017 https://blog.mageia.org/en/2017/11/07/mageia-5-eol-postponed/
It only continued to get important security updates since then, but non-security bugs have no chance of still getting fixed.

I assume this bug doesn't exist in Mageia 6 or later, because KDE and its tools are entirely different there.

Closing as OLD.

Please reopen this report and change its "Version:" at the top left to "6", if the same bug still exists in Mageia 6

Status: NEW => RESOLVED
Resolution: (none) => OLD


Note You need to log in before you can comment on or make changes to this bug.