[Python-modules-team] Bug#966970: piexif: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p 3.8 returned exit code 13

Lucas Nussbaum lucas at debian.org
Mon Aug 3 09:32:37 BST 2020


Source: piexif
Version: 1.0.13-3
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200802 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
>  debian/rules build
> dh build --with python3 --buildsystem=pybuild
> dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> dh_auto_configure: warning: Compatibility levels before 10 are deprecated (level 9 in use)
> I: pybuild base:217: python3.8 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> dh_auto_build: warning: Compatibility levels before 10 are deprecated (level 9 in use)
> I: pybuild base:217: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_transplant.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_exif.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_load.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/helper.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_common.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_insert.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_exceptions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
> copying piexif/_dump.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_piexif/build/piexif
>    dh_auto_test -O--buildsystem=pybuild
> dh_auto_test: warning: Compatibility levels before 10 are deprecated (level 9 in use)
> I: pybuild base:217: python3.8 setup.py test 
> running test
> WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
> running egg_info
> creating piexif.egg-info
> writing piexif.egg-info/PKG-INFO
> writing dependency_links to piexif.egg-info/dependency_links.txt
> writing top-level names to piexif.egg-info/top_level.txt
> writing manifest file 'piexif.egg-info/SOURCES.txt'
> reading manifest file 'piexif.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching '*.txt' under directory 'docs'
> writing manifest file 'piexif.egg-info/SOURCES.txt'
> running build_ext
> test_ExifReader_convert_value_fail (s_test.UTests) ... ok
> test_ExifReader_return_unknown (s_test.UTests) ... ok
> test_dump_user_comment (s_test.UTests) ... ok
> test_load_user_comment (s_test.UTests) ... ok
> test_merge_segments (s_test.UTests) ... ok
> test_split_into_segments_fail1 (s_test.UTests) ... ok
> test_split_into_segments_fail2 (s_test.UTests) ... ok
> test_dump (s_test.ExifTests) ... ok
> test_dump_and_load (s_test.ExifTests) ... ok
> test_dump_and_load2 (s_test.ExifTests) ... ok
> test_dump_and_load3 (s_test.ExifTests) ... ok
> test_dump_and_load_specials (s_test.ExifTests)
> test dump and load special types(SingedByte, SiginedShort, DoubleFloat) ... ok
> test_dump_and_load_specials2 (s_test.ExifTests)
> test dump and load special types(SingedByte, SiginedShort, DoubleFloat) ... ok
> test_dump_fail (s_test.ExifTests) ... ok
> test_dump_fail2 (s_test.ExifTests) ... ok
> test_dump_fail3 (s_test.ExifTests) ... ok
> test_dump_fail4 (s_test.ExifTests) ... ok
> test_insert (s_test.ExifTests) ... ok
> test_insert_fail1 (s_test.ExifTests) ... ok
> test_insert_fail2 (s_test.ExifTests) ... ok
> test_insert_m (s_test.ExifTests)
> 'insert' on memory. ... ok
> test_load (s_test.ExifTests) ... FAIL
> test_load_fail (s_test.ExifTests) ... ok
> test_load_from_pilImage_property (s_test.ExifTests) ... ok
> test_load_m (s_test.ExifTests)
> 'load' on memory. ... ERROR
> test_load_name_dict (s_test.ExifTests) ... ok
> test_load_tif (s_test.ExifTests) ... ok
> test_load_tif_m (s_test.ExifTests) ... ok
> test_no_exif_dump (s_test.ExifTests) ... ok
> test_no_exif_load (s_test.ExifTests) ... ok
> test_print_exif (s_test.ExifTests) ... ok
> test_remove (s_test.ExifTests) ... ok
> test_remove2 (s_test.ExifTests) ... ok
> test_remove_m (s_test.ExifTests)
> 'remove' on memory. ... ok
> test_roundtrip_files (s_test.ExifTests) ... ok
> test_transplant (s_test.ExifTests) ... ok
> test_transplant_fail1 (s_test.ExifTests) ... ok
> test_transplant_fail2 (s_test.ExifTests) ... ok
> test_transplant_m (s_test.ExifTests)
> 'transplant' on memory. ... ok
> test_decode_ascii (s_test.HelperTests)
> Do we decode ASCII correctly? ... ok
> test_decode_bad_encoding (s_test.HelperTests)
> De we gracefully handle bad input when decoding? ... ok
> test_decode_jis (s_test.HelperTests)
> Do we decode JIS correctly? ... ok
> test_decode_unicode (s_test.HelperTests)
> Do we decode Unicode correctly? ... ok
> test_encode_ascii (s_test.HelperTests)
> Do we encode ASCII correctly? ... ok
> test_encode_bad_encoding (s_test.HelperTests)
> De we gracefully handle bad input when encoding? ... ok
> test_encode_jis (s_test.HelperTests)
> Do we encode JIS correctly? ... ok
> test_encode_unicode (s_test.HelperTests)
> Do we encode Unicode correctly? ... ok
> test_headers (s_test.HelperTests)
> Are our headers the correct length? ... ok
> 
> ======================================================================
> ERROR: test_load_m (s_test.ExifTests)
> 'load' on memory.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "./tests/s_test.py", line 117, in test_load_m
>     self._compare_piexifDict_PILDict(exif, e)
>   File "./tests/s_test.py", line 617, in _compare_piexifDict_PILDict
>     self._compare_value(zeroth_ifd[key], pilDict[key])
>   File "./tests/s_test.py", line 588, in _compare_value
>     self.assertEqual(pack_byte(*v1), v2)
>   File "./tests/s_test.py", line 86, in pack_byte
>     return struct.pack("B" * len(args), *args)
> struct.error: ubyte format requires 0 <= number <= 255
> 
> ======================================================================
> FAIL: test_load (s_test.ExifTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "./tests/s_test.py", line 109, in test_load
>     self._compare_piexifDict_PILDict(exif, e, p=False)
>   File "./tests/s_test.py", line 617, in _compare_piexifDict_PILDict
>     self._compare_value(zeroth_ifd[key], pilDict[key])
>   File "./tests/s_test.py", line 588, in _compare_value
>     self.assertEqual(pack_byte(*v1), v2)
> AssertionError: b'\xb4\x01' != 180.0
> 
> ----------------------------------------------------------------------
> Ran 48 tests in 0.032s
> 
> FAILED (failures=1, errors=1)
> Test failed: <unittest.runner.TextTestResult run=48 errors=1 failures=1>
> piexif version: 1.0.13
> 'dump': 0.0002186298370361328[sec]
> ********************
> tests/images/r_canon.jpg
> 
> ********************
> 
> tests/images/01.jpg
> 
> BitsPerSample (24, 24, 24) (24, 24, 24)
> Make b'Make' Make
> Model b'XXX-XXX' XXX-XXX
> {'0th': {'BitsPerSample': (24, 24, 24), 'Make': b'Make', 'Model': b'XXX-XXX', 'XResolution': (4294967295, 1), 'ResolutionUnit': 65535, 'Software': b'PIL', 'BlackLevelDeltaH': ((1, 1), (1, 1), (1, 1)), 'ZZZTestSlong1': -11, 'ZZZTestSlong2': (-11, -11, -11, -11), 'ExifTag': 213, 'GPSTag': 406}, 'Exif': {'ExposureTime': (4294967295, 1), 'OECF': b'\xaa\xaa\xaa\xaa\xaa\xaa', 'ISOSpeed': 4294967295, 'DateTimeOriginal': b'2099:09:29 10:10:10', 'ExposureBiasValue': (2147483647, -2147483648), 'Sharpness': 65535, 'LensSpecification': ((1, 1), (1, 1), (1, 1), (1, 1)), 'LensMake': b'LensMake', 'InteroperabilityTag': 496}, '1st': {'BitsPerSample': (24, 24, 24), 'Make': b'Make', 'Model': b'XXX-XXX', 'Software': b'PIL', 'BlackLevelDeltaH': ((1, 1), (1, 1), (1, 1)), 'JPEGInterchangeFormat': 643, 'JPEGInterchangeFormatLength': 501}, 'GPS': {'GPSVersionID': (0, 0, 0, 1), 'GPSLatitude': (4294967295, 1), 'GPSAltitudeRef': 1, 'GPSDateStamp': b'1999:99:99 99:99:99', 'GPSDifferential': 65535}, 'Interop': {'InteroperabilityIndex': b'R98'}, 'thumbnail': b'\xff\xd8\xff\xdb\x00C\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07\x07\t\t\x08\n\x0c\x14\r\x0c\x0b\x0b\x0c\x19\x12\x13\x0f\x14\x1d\x1a\x1f\x1e\x1d\x1a\x1c\x1c $.\' ",#\x1c\x1c(7),01444\x1f\'9=82<.342\xff\xc0\x00\x0b\x08\x00\x15\x00(\x01\x01\x11\x00\xff\xc4\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\x07"q\x142\x81\x91\xa1\x08#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\x08\x01\x01\x00\x00?\x00\xf6\x05\xd5\xe3n\x0b.}\xaa\x9d\x97\x89\xad\xf5h~\xd1ar\xadn\xae\xd1\xb1\xc7;\x94\xe0\xd5\xdf\xedT\xc0\x05\x8e\x05W\x9fZ\x89Abp\xa2\xabM\xae\xc6\xbf\xc1\x9fZ\xf9\xf7\xfe\x16E\xe4G\x0cK\x12:+t\xac\xbd\x03\xc6\xd7\x9a-\x84\x96\xb1\xe5\x95\xe5i\x01\xdd\xd38\xcf\xf2\xad\x98\xfe%\xdc\xbb\x05i\x1d9\xee\xdc\n\xa7\xabx\xea\xf2\xefM\x9a\x14\xb8\x0c\xac\xcb\x8eHn\x08>\xbe\xd5rO\x1d\xdcJ\x9b\xc3\xf4\xe3\x01\xf9\xfcs\\K\xd9\xda\xc2X\x84\x90\xe3\x18\xfd\xe1\x14\xab\x15\xa9~b\x94\xae:y\xc6\x8bh\xa2\xb8\xba\x95eM\xd1\xa2\x90\x8b\x9e\x9c\xfa\xf7\xa8\xae>\xcd\x0c\xa65\xb5\\\x0fV\xaa\xec\xf1\x0e\x90\'\xe7_\xff\xd9'}
> 
> **********************************************
> 'load': 0.00019097328186035156[sec]
> 
> 0th IFD:
>    270 ImageDescription b'OLYMPUS DI'
>    271 Make b'OLYMPUS IM'
>    272 Model b'E-P3      '
>    274 Orientation 1
>    282 XResolution (314, 1)
>    283 YResolution (314, 1)
>    296 ResolutionUnit 2
>    305 Software b'Version 1.'
>    306 DateTime b'2014:08:23'
>    315 Artist b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>    531 YCbCrPositioning 2
>    33432 Copyright b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>    34665 ExifTag 218
>    50341 PrintImageMatching b'PrintIM\x0003'
> 
> Exif IFD:
>    33434 ExposureTime (1, 30)
>    33437 FNumber (36, 10)
>    34850 ExposureProgram 5
>    34855 ISOSpeedRatings 1600
>    36864 ExifVersion b'0221'
>    36867 DateTimeOriginal b'2014:08:23'
>    36868 DateTimeDigitized b'2014:08:23'
>    37121 ComponentsConfiguration b'\x01\x02\x03\x00'
>    37380 ExposureBiasValue (0, 10)
>    37381 MaxApertureValue (925, 256)
>    37383 MeteringMode 5
>    37384 LightSource 255
>    37385 Flash 8
>    37386 FocalLength (15, 1)
>    37500 MakerNote b'OLYMPUS\x00II'
>    37510 UserComment b'\x00\x00\x00\x00\x00\x00\x00\x00  '
>    40960 FlashpixVersion b'0100'
>    40961 ColorSpace 1
>    40962 PixelXDimension 4032
>    40963 PixelYDimension 3024
>    40965 InteroperabilityTag 686
>    41728 FileSource b'\x03'
>    41985 CustomRendered 1
>    41986 ExposureMode 0
>    41987 WhiteBalance 0
>    41988 DigitalZoomRatio (100, 100)
>    41990 SceneCaptureType 0
>    41991 GainControl 2
>    41992 Contrast 2
>    41993 Saturation 2
>    41994 Sharpness 0
> 
> GPS IFD:
> 
> Interop IFD:
>    1 InteroperabilityIndex b'R98'
> 
> 1st IFD:
>    259 Compression 6
>    282 XResolution (72, 1)
>    283 YResolution (72, 1)
>    296 ResolutionUnit 2
>    513 JPEGInterchangeFormat 13588
>    514 JPEGInterchangeFormatLength 7361
> **********************************************
> tests/images/r_canon.jpg
>  - pass
> tests/images/r_pana.jpg
>  - pass
> tests/images/r_sony.jpg
>  - pass
> tests/images/r_pen.jpg
>  - pass
> tests/images/r_sigma.jpg
> Given JPEG doesn't follow exif thumbnail standard. APPn segments in thumbnail should be removed, whereas thumbnail JPEG has it. 
> : tests/images/r_sigma.jpg
>  - pass
> tests/images/r_casio.jpg
>  - pass
> tests/images/r_olympus.jpg
>  - pass
> tests/images/r_ricoh.jpg
>  - pass
> error: Test failed: <unittest.runner.TextTestResult run=48 errors=1 failures=1>
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: python3.8 setup.py test 
> dh_auto_test: error: pybuild --test -i python{version} -p 3.8 returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/08/02/piexif_1.0.13-3_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Python-modules-team mailing list