Bug#1028843: openpyxl: FTBFS: ValueError: I/O operation on closed file.
Lucas Nussbaum
lucas at debian.org
Sat Jan 14 12:42:02 GMT 2023
Source: openpyxl
Version: 3.0.9-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20230113 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> py3versions: no X-Python3-Version in control file, using supported versions
> py3versions: no X-Python3-Version in control file, using supported versions
> LC_ALL=C.UTF-8 python3.10 /usr/bin/py.test-3 openpyxl
> ============================= test session starts ==============================
> platform linux -- Python 3.10.9, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini
> collected 2428 items
>
> openpyxl/cell/tests/test_cell.py .........................s........x.... [ 1%]
> ...................s [ 2%]
> openpyxl/cell/tests/test_read_only.py ......... [ 2%]
> openpyxl/cell/tests/test_text.py ............ [ 3%]
> openpyxl/cell/tests/test_writer.py ..................................... [ 4%]
> .............. [ 5%]
> openpyxl/chart/tests/test_3d.py .... [ 5%]
> openpyxl/chart/tests/test_area_chart.py ..... [ 5%]
> openpyxl/chart/tests/test_axis.py ................. [ 6%]
> openpyxl/chart/tests/test_bar_chart.py ...... [ 6%]
> openpyxl/chart/tests/test_bubble_chart.py .. [ 6%]
> openpyxl/chart/tests/test_chart.py ............... [ 7%]
> openpyxl/chart/tests/test_chartspace.py ........ [ 7%]
> openpyxl/chart/tests/test_data_source.py .................. [ 8%]
> openpyxl/chart/tests/test_error_bar.py .. [ 8%]
> openpyxl/chart/tests/test_label.py .... [ 8%]
> openpyxl/chart/tests/test_layout.py ... [ 8%]
> openpyxl/chart/tests/test_legend.py .... [ 9%]
> openpyxl/chart/tests/test_line_chart.py ..... [ 9%]
> openpyxl/chart/tests/test_marker.py .... [ 9%]
> openpyxl/chart/tests/test_picture.py .. [ 9%]
> openpyxl/chart/tests/test_pie_chart.py ......... [ 9%]
> openpyxl/chart/tests/test_pivot.py .... [ 10%]
> openpyxl/chart/tests/test_plotarea.py ............ [ 10%]
> openpyxl/chart/tests/test_print.py .... [ 10%]
> openpyxl/chart/tests/test_radar_chart.py .. [ 10%]
> openpyxl/chart/tests/test_reader.py .. [ 10%]
> openpyxl/chart/tests/test_reference.py .......... [ 11%]
> openpyxl/chart/tests/test_scatter_chart.py .. [ 11%]
> openpyxl/chart/tests/test_series.py ......... [ 11%]
> openpyxl/chart/tests/test_series_factory.py ....... [ 11%]
> openpyxl/chart/tests/test_shapes.py .. [ 12%]
> openpyxl/chart/tests/test_stock_chart.py .. [ 12%]
> openpyxl/chart/tests/test_surface_chart.py ........ [ 12%]
> openpyxl/chart/tests/test_text.py ..... [ 12%]
> openpyxl/chart/tests/test_title.py ... [ 12%]
> openpyxl/chart/tests/test_trendline.py .... [ 12%]
> openpyxl/chart/tests/test_updown_bars.py .. [ 13%]
> openpyxl/chartsheet/tests/test_chartsheet.py .... [ 13%]
> openpyxl/chartsheet/tests/test_custom.py .... [ 13%]
> openpyxl/chartsheet/tests/test_properties.py .. [ 13%]
> openpyxl/chartsheet/tests/test_protection.py ... [ 13%]
> openpyxl/chartsheet/tests/test_publish.py .... [ 13%]
> openpyxl/chartsheet/tests/test_relation.py .... [ 13%]
> openpyxl/chartsheet/tests/test_views.py .... [ 14%]
> openpyxl/comments/tests/test_author.py .. [ 14%]
> openpyxl/comments/tests/test_comment.py .... [ 14%]
> openpyxl/comments/tests/test_comment_reader.py ... [ 14%]
> openpyxl/comments/tests/test_comment_sheet.py ...... [ 14%]
> openpyxl/comments/tests/test_shape_writer.py .... [ 14%]
> openpyxl/compat/tests/test_compat.py ......sss..... [ 15%]
> openpyxl/descriptors/tests/test_base.py ................................ [ 16%]
> ................ [ 17%]
> openpyxl/descriptors/tests/test_excel.py ............................... [ 18%]
> . [ 18%]
> openpyxl/descriptors/tests/test_namespace.py ... [ 18%]
> openpyxl/descriptors/tests/test_nested.py ......................... [ 19%]
> openpyxl/descriptors/tests/test_sequence.py ................... [ 20%]
> openpyxl/descriptors/tests/test_serialisable.py ............... [ 21%]
> openpyxl/drawing/tests/test_color.py ............ [ 21%]
> openpyxl/drawing/tests/test_connector.py x. [ 21%]
> openpyxl/drawing/tests/test_descriptors.py . [ 21%]
> openpyxl/drawing/tests/test_drawing.py ......... [ 22%]
> openpyxl/drawing/tests/test_effect.py ...... [ 22%]
> openpyxl/drawing/tests/test_fill.py ................. [ 23%]
> openpyxl/drawing/tests/test_geometry.py ................ [ 23%]
> openpyxl/drawing/tests/test_graphic.py ...........xx.. [ 24%]
> openpyxl/drawing/tests/test_image.py s....F [ 24%]
> openpyxl/drawing/tests/test_line.py ....... [ 25%]
> openpyxl/drawing/tests/test_picture.py ........ [ 25%]
> openpyxl/drawing/tests/test_properties.py .......... [ 25%]
> openpyxl/drawing/tests/test_relation.py .. [ 25%]
> openpyxl/drawing/tests/test_spreadsheet_drawing.py ..................... [ 26%]
> ..... [ 26%]
> openpyxl/drawing/tests/test_text.py .............. [ 27%]
> openpyxl/formatting/tests/test_formatting.py ....... [ 27%]
> openpyxl/formatting/tests/test_rule.py ................................ [ 29%]
> openpyxl/formula/tests/test_tokenizer.py ............................... [ 30%]
> ........................................................................ [ 33%]
> ........................................................................ [ 36%]
> ................... [ 37%]
> openpyxl/formula/tests/test_translate.py ............................... [ 38%]
> ........................................................................ [ 41%]
> .................. [ 42%]
> openpyxl/packaging/tests/test_core.py ....... [ 42%]
> openpyxl/packaging/tests/test_extended.py .. [ 42%]
> openpyxl/packaging/tests/test_interface.py . [ 42%]
> openpyxl/packaging/tests/test_manifest.py .................... [ 43%]
> openpyxl/packaging/tests/test_pivot.py .. [ 43%]
> openpyxl/packaging/tests/test_relationship.py ...... [ 43%]
> openpyxl/packaging/tests/test_workbook.py ... [ 43%]
> openpyxl/pivot/tests/test_cache.py .......................... [ 44%]
> openpyxl/pivot/tests/test_fields.py .............. [ 45%]
> openpyxl/pivot/tests/test_record.py ..... [ 45%]
> openpyxl/pivot/tests/test_table.py ............................ [ 46%]
> openpyxl/reader/tests/test_drawings.py .... [ 46%]
> openpyxl/reader/tests/test_excel.py ....................../usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> ......... [ 48%]
> openpyxl/reader/tests/test_strings.py ... [ 48%]
> openpyxl/reader/tests/test_workbook.py ......... [ 48%]
> openpyxl/styles/tests/test_alignments.py ... [ 48%]
> openpyxl/styles/tests/test_borders.py .. [ 48%]
> openpyxl/styles/tests/test_cell_style.py .......... [ 49%]
> openpyxl/styles/tests/test_colors.py .................. [ 50%]
> openpyxl/styles/tests/test_differential.py .... [ 50%]
> openpyxl/styles/tests/test_fills.py ............................. [ 51%]
> openpyxl/styles/tests/test_fonts.py .... [ 51%]
> openpyxl/styles/tests/test_named_style.py ........................ [ 52%]
> openpyxl/styles/tests/test_number_style.py ............................. [ 53%]
> ................................................ [ 55%]
> openpyxl/styles/tests/test_protection.py .. [ 55%]
> openpyxl/styles/tests/test_proxy.py ..... [ 56%]
> openpyxl/styles/tests/test_styleable.py .......... [ 56%]
> openpyxl/styles/tests/test_stylesheet.py .................... [ 57%]
> openpyxl/styles/tests/test_table.py ...... [ 57%]
> openpyxl/tests/test_backend.py .. [ 57%]
> openpyxl/tests/test_iter.py ............................................ [ 59%]
> ../usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> ..... [ 59%]
> openpyxl/tests/test_read.py /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> ...... [ 59%]
> openpyxl/tests/test_vba.py .../usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> .. [ 60%]
> openpyxl/utils/tests/test_bound_dictionary.py ... [ 60%]
> openpyxl/utils/tests/test_cell.py ...................................... [ 61%]
> ............................... [ 63%]
> openpyxl/utils/tests/test_dataframe.py ssssss [ 63%]
> openpyxl/utils/tests/test_datetime.py .................................. [ 64%]
> .............................................................. [ 67%]
> openpyxl/utils/tests/test_escape.py .. [ 67%]
> openpyxl/utils/tests/test_indexed_list.py ...... [ 67%]
> openpyxl/utils/tests/test_inference.py .................. [ 68%]
> openpyxl/utils/tests/test_protection.py . [ 68%]
> openpyxl/utils/tests/test_units.py ..................................... [ 69%]
> .................................... [ 71%]
> openpyxl/workbook/external_link/tests/test_external.py ......... [ 71%]
> openpyxl/workbook/tests/test_child.py ..................... [ 72%]
> openpyxl/workbook/tests/test_defined_name.py ........................... [ 73%]
> .............................. [ 75%]
> openpyxl/workbook/tests/test_external_reference.py .. [ 75%]
> openpyxl/workbook/tests/test_function_group.py .... [ 75%]
> openpyxl/workbook/tests/test_properties.py ...... [ 75%]
> openpyxl/workbook/tests/test_protection.py ..... [ 75%]
> openpyxl/workbook/tests/test_smart_tags.py ...... [ 75%]
> openpyxl/workbook/tests/test_views.py .... [ 76%]
> openpyxl/workbook/tests/test_web.py ...... [ 76%]
> openpyxl/workbook/tests/test_workbook.py ...........x................... [ 77%]
> ............... [ 78%]
> openpyxl/workbook/tests/test_writer.py ............ [ 78%]
> openpyxl/worksheet/tests/test_cell_range.py ............................ [ 79%]
> ............................... [ 81%]
> openpyxl/worksheet/tests/test_controls.py .. [ 81%]
> openpyxl/worksheet/tests/test_datavalidation.py ................... [ 82%]
> openpyxl/worksheet/tests/test_dimensions.py ........................ [ 83%]
> openpyxl/worksheet/tests/test_filters.py ............................. [ 84%]
> openpyxl/worksheet/tests/test_header.py .................. [ 84%]
> openpyxl/worksheet/tests/test_hyperlink.py ..... [ 85%]
> openpyxl/worksheet/tests/test_merge.py ............... [ 85%]
> openpyxl/worksheet/tests/test_ole.py .. [ 85%]
> openpyxl/worksheet/tests/test_page.py ........ [ 86%]
> openpyxl/worksheet/tests/test_pagebreak.py ..... [ 86%]
> openpyxl/worksheet/tests/test_properties.py ... [ 86%]
> openpyxl/worksheet/tests/test_protection.py ...... [ 86%]
> openpyxl/worksheet/tests/test_read_only.py ../usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> ......./usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> ......./usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> ... [ 87%]
> openpyxl/worksheet/tests/test_reader.py ....................../usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> .......... [ 88%]
> ....................................... [ 90%]
> openpyxl/worksheet/tests/test_related.py . [ 90%]
> openpyxl/worksheet/tests/test_scenario.py ...... [ 90%]
> openpyxl/worksheet/tests/test_table.py ...................... [ 91%]
> openpyxl/worksheet/tests/test_views.py ...... [ 91%]
> openpyxl/worksheet/tests/test_worksheet.py ............................. [ 93%]
> ...................................................................... [ 96%]
> openpyxl/worksheet/tests/test_worksheet_copy.py ............... [ 96%]
> openpyxl/worksheet/tests/test_write_only.py .......... [ 97%]
> openpyxl/worksheet/tests/test_writer.py ................................ [ 98%]
> . [ 98%]
> openpyxl/writer/tests/test_excel.py ........../usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function ZipFile.__del__ at 0x7fba6c33e680>
>
> Traceback (most recent call last):
> File "/usr/lib/python3.10/zipfile.py", line 1819, in __del__
> self.close()
> File "/usr/lib/python3.10/zipfile.py", line 1836, in close
> self.fp.seek(self.start_dir)
> ValueError: I/O operation on closed file.
>
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> .. [ 98%]
> openpyxl/writer/tests/test_template.py ................ [ 99%]
> openpyxl/xml/tests/test_functions.py ..ssss....
>
> =================================== FAILURES ===================================
> ____________________________ TestImage.test_convert ____________________________
>
> mode = 'RGBA', decoder_name = 'libtiff'
> args = ('RGBA;16N', 'tiff_lzw', 12, 2232), extra = ()
>
> def _getdecoder(mode, decoder_name, args, extra=()):
>
> # tweak arguments
> if args is None:
> args = ()
> elif not isinstance(args, tuple):
> args = (args,)
>
> try:
> decoder = DECODERS[decoder_name]
> except KeyError:
> pass
> else:
> return decoder(mode, *args + extra)
>
> try:
> # get decoder
> > decoder = getattr(core, decoder_name + "_decoder")
> E AttributeError: module 'PIL._imaging' has no attribute 'libtiff_decoder'
>
> args = ('RGBA;16N', 'tiff_lzw', 12, 2232)
> decoder_name = 'libtiff'
> extra = ()
> mode = 'RGBA'
> msg = 'decoder libtiff not available'
>
> /usr/lib/python3/dist-packages/PIL/Image.py:410: AttributeError
>
> The above exception was the direct cause of the following exception:
>
> self = <openpyxl.drawing.tests.test_image.TestImage object at 0x7fba67e5f430>
> Image = <class 'openpyxl.drawing.image.Image'>
> datadir = local('/<<PKGBUILDDIR>>/openpyxl/drawing/tests/data')
>
> @pytest.mark.pil_required
> def test_convert(self, Image, datadir):
> datadir.chdir()
> img = Image("plain.tif")
> > assert img._data()[:10] == b'\x89PNG\r\n\x1a\n\x00\x00'
>
> Image = <class 'openpyxl.drawing.image.Image'>
> datadir = local('/<<PKGBUILDDIR>>/openpyxl/drawing/tests/data')
> img = <openpyxl.drawing.image.Image object at 0x7fba6774bfd0>
> self = <openpyxl.drawing.tests.test_image.TestImage object at 0x7fba67e5f430>
>
> /<<PKGBUILDDIR>>/openpyxl/drawing/tests/test_image.py:59:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> /<<PKGBUILDDIR>>/openpyxl/drawing/image.py:55: in _data
> img.save(fp, format="png")
> fp = <_io.BytesIO object at 0x7fba6730aa70>
> img = <PIL.TiffImagePlugin.TiffImageFile image mode=RGBA size=118x118 at 0x7FBA6735B190>
> self = <openpyxl.drawing.image.Image object at 0x7fba6774bfd0>
> /usr/lib/python3/dist-packages/PIL/Image.py:2394: in save
> self._ensure_mutable()
> filename = ''
> format = 'png'
> fp = <_io.BytesIO object at 0x7fba6730aa70>
> open_fp = False
> params = {}
> self = <PIL.TiffImagePlugin.TiffImageFile image mode=RGBA size=118x118 at 0x7FBA6735B190>
> /usr/lib/python3/dist-packages/PIL/Image.py:611: in _ensure_mutable
> self._copy()
> self = <PIL.TiffImagePlugin.TiffImageFile image mode=RGBA size=118x118 at 0x7FBA6735B190>
> /usr/lib/python3/dist-packages/PIL/Image.py:604: in _copy
> self.load()
> self = <PIL.TiffImagePlugin.TiffImageFile image mode=RGBA size=118x118 at 0x7FBA6735B190>
> /usr/lib/python3/dist-packages/PIL/TiffImagePlugin.py:1196: in load
> return self._load_libtiff()
> __class__ = <class 'PIL.TiffImagePlugin.TiffImageFile'>
> self = <PIL.TiffImagePlugin.TiffImageFile image mode=RGBA size=118x118 at 0x7FBA6735B190>
> /usr/lib/python3/dist-packages/PIL/TiffImagePlugin.py:1266: in _load_libtiff
> decoder = Image._getdecoder(
> args = ['RGBA;16N', 'tiff_lzw', 12, 2232]
> extents = (0, 0, 118, 118)
> fp = 12
> self = <PIL.TiffImagePlugin.TiffImageFile image mode=RGBA size=118x118 at 0x7FBA6735B190>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> mode = 'RGBA', decoder_name = 'libtiff'
> args = ('RGBA;16N', 'tiff_lzw', 12, 2232), extra = ()
>
> def _getdecoder(mode, decoder_name, args, extra=()):
>
> # tweak arguments
> if args is None:
> args = ()
> elif not isinstance(args, tuple):
> args = (args,)
>
> try:
> decoder = DECODERS[decoder_name]
> except KeyError:
> pass
> else:
> return decoder(mode, *args + extra)
>
> try:
> # get decoder
> decoder = getattr(core, decoder_name + "_decoder")
> except AttributeError as e:
> msg = f"decoder {decoder_name} not available"
> > raise OSError(msg) from e
> E OSError: decoder libtiff not available
>
> args = ('RGBA;16N', 'tiff_lzw', 12, 2232)
> decoder_name = 'libtiff'
> extra = ()
> mode = 'RGBA'
> msg = 'decoder libtiff not available'
>
> /usr/lib/python3/dist-packages/PIL/Image.py:413: OSError
> =========================== short test summary info ============================
> FAILED openpyxl/drawing/tests/test_image.py::TestImage::test_convert - OSErro...
> ============ 1 failed, 2406 passed, 16 skipped, 5 xfailed in 7.58s =============
> make[1]: *** [debian/rules:21: python-test3.10] Error 1
The full build log is available from:
http://qa-logs.debian.net/2023/01/13/openpyxl_3.0.9-1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230113;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230113&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
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!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
More information about the debian-science-maintainers
mailing list