Bug 1100762

Summary: jpeg2k tests fail on big endians
Product: [Fedora] Fedora Reporter: Dan Horák <dan>
Component: python-pillowAssignee: Sandro Mani <manisandro>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: manisandro, miminar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-26 21:38:13 UTC Type: Bug
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: 467765, 1071880    

Description Dan Horák 2014-05-23 11:57:28 UTC
The jpeg2k tests fail on big endian arches like ppc and s390, so I guess it's again an endianity problem, either in pillow or in the jpeg2k library

from build.log:
...
Pillow 2.4.0 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from /builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL
Binary modules loaded from /builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL
--------------------------------------------------------------------
--- PIL CORE support ok
--- TKINTER support ok
--- JPEG support ok
--- JPEG 2000 support ok
--- ZLIB (PNG/ZIP) support ok
--- LIBTIFF support ok
--- FREETYPE2 support ok
--- LITTLECMS2 support ok
--- WEBP support ok
--- Transparent WEBP support ok
--------------------------------------------------------------------
Running selftest:
--- 57 tests passed.
+ PYTHONPATH=/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7
+ /usr/bin/python Tests/run.py
--------------------------------------------------------------------
running test_000_sanity ...
running test_001_archive ...
running test_bmp_reference ...
running test_cffi ...
running test_file_bmp ...
running test_file_fli ...
running test_file_gif ...
running test_file_icns ...
running test_file_ico ...
running test_file_jpeg ...
running test_file_jpeg2k ...
Tests/test_file_jpeg2k.py:59: im = roundtrip(test_card) failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 59, in test_lossless_rt
    im = roundtrip(test_card)
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x10035436590>
Tests/test_file_jpeg2k.py:63: im = roundtrip(test_card, quality_layers=[20]) failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 63, in test_lossy_rt
    im = roundtrip(test_card, quality_layers=[20])
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x1003a0243b0>
Tests/test_file_jpeg2k.py:67: im = roundtrip(test_card, tile_size=(128, 128)) failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 67, in test_tiled_rt
    im = roundtrip(test_card, tile_size=(128, 128))
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x10035436590>
Tests/test_file_jpeg2k.py:72: offset=(32, 32)) failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 72, in test_tiled_offset_rt
    offset=(32, 32))
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x1003a0243b0>
Tests/test_file_jpeg2k.py:76: im = roundtrip(test_card, irreversible=True, quality_layers=[20]) failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 76, in test_irreversible_rt
    im = roundtrip(test_card, irreversible=True, quality_layers=[20])
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x10035436590>
Tests/test_file_jpeg2k.py:80: im = roundtrip(test_card, quality_layers=[60, 40, 20], progression='LRCP') failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 80, in test_prog_qual_rt
    im = roundtrip(test_card, quality_layers=[60, 40, 20], progression='LRCP')
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x1003a0243b0>
Tests/test_file_jpeg2k.py:84: im = roundtrip(test_card, num_resolutions=8, progression='RLCP') failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 84, in test_prog_res_rt
    im = roundtrip(test_card, num_resolutions=8, progression='RLCP')
  File "Tests/test_file_jpeg2k.py", line 23, in roundtrip
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x10035436590>
Tests/test_file_jpeg2k.py:101: im = Image.open(out) failed:
Traceback (most recent call last):
  File "Tests/test_file_jpeg2k.py", line 101, in test_layers
    im = Image.open(out)
  File "/builddir/build/BUILD/python-imaging-Pillow-72de37c/build/lib.linux-ppc64-2.7/PIL/Image.py", line 2126, in open
    % (filename if filename else fp))
IOError: cannot identify image file <_io.BytesIO object at 0x1003a0243b0>
running test_file_libtiff ...
running test_file_libtiff_small ...
running test_file_msp ...
running test_file_pcx ...
running test_file_png ...
running test_file_ppm ...
running test_file_psd ...
running test_file_tar ...
running test_file_tiff ...
running test_file_tiff_metadata ...
running test_file_webp ...
running test_file_webp_alpha ...
running test_file_webp_lossless ...
running test_file_webp_metadata ...
running test_file_xbm ...
running test_file_xpm ...
running test_font_bdf ...
running test_font_pcf ...
running test_format_lab ...
running test_image ...
running test_image_array ...
running test_image_convert ...
running test_image_copy ...
running test_image_crop ...
running test_image_draft ...
running test_image_filter ...
running test_image_frombytes ...
running test_image_getbands ...
running test_image_getbbox ...
running test_image_getcolors ...
running test_image_getdata ...
running test_image_getextrema ...
running test_image_getim ...
running test_image_getpalette ...
running test_image_getpixel ...
running test_image_getprojection ...
running test_image_histogram ...
running test_image_load ...
running test_image_mode ...
running test_image_offset ...
running test_image_paste ...
running test_image_point ...
running test_image_putalpha ...
running test_image_putdata ...
running test_image_putpalette ...
running test_image_putpixel ...
running test_image_quantize ...
running test_image_resize ...
running test_image_rotate ...
running test_image_save ...
running test_image_seek ...
running test_image_show ...
running test_image_split ...
running test_image_tell ...
running test_image_thumbnail ...
running test_image_tobitmap ...
running test_image_tobytes ...
running test_image_transform ...
running test_image_transpose ...
running test_image_verify ...
running test_imagechops ...
running test_imagecms ...
running test_imagecolor ...
running test_imagedraw ...
running test_imageenhance ...
running test_imagefile ...
running test_imagefileio ...
running test_imagefilter ...
running test_imagefont ...
running test_imagegrab ...
--- skipped
running test_imagemath ...
running test_imagemode ...
running test_imageops ...
running test_imageops_usm ...
running test_imagepalette ...
running test_imagepath ...
running test_imageqt ...
running test_imagesequence ...
running test_imageshow ...
running test_imagestat ...
running test_imagetk ...
running test_imagetransform ...
running test_imagewin ...
running test_lib_image ...
running test_lib_pack ...
running test_locale ...
running test_mode_i16 ...
running test_numpy ...
--------------------------------------------------------------------
--- 1 test skipped.
['test_imagegrab']
*** 1 test of 98 failed.


Version-Release number of selected component (if applicable):
python-pillow-2.4.0-7.fc21

Comment 1 Sandro Mani 2014-05-23 12:00:46 UTC
Joy. I was actually just now looking at updating to openjpeg-2.1.0, but there I get all sorts of issues. But while I'm at it I can also hunt this one I guess.

Comment 2 Sandro Mani 2014-05-27 22:30:00 UTC
I pushed openjpeg-2.1.0 to rawhide and patched pillow accordingly. As soon as openjpeg-2.1.0 lands in ppc, I'll check whether it happens to also fix this issue here.

Comment 3 Sandro Mani 2014-07-24 13:55:04 UTC
Looks like tests pass now: http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1961835

Comment 4 Sandro Mani 2014-07-26 21:38:13 UTC
http://koji.fedoraproject.org/koji/buildinfo?buildID=548179

* Sat Jul 26 2014 Sandro Mani <manisandro> - 2.5.1-2
- Reenable jpeg2k tests on big endian arches