Skip to content

"OSError: -9" saving a multi-layer TIFF via libtiff #5319

@ndjman7

Description

@ndjman7

What did you do?

I did a version up. (5.2.0 -> 6.2.0)
It was the same at 8.1.2.

This is similar to this issue.
https://stackoverflow.com/questions/64683811/how-to-debug-oserror-9-saving-a-tiff-via-libtiff-and-pillow

What did you expect to happen?

I thought dividing the multi-layer TIFF files would work the same way.

What actually happened?

raise Error OSError -9

...
# example
with Image.open(document_file) as tif_images:
    result = []

    for tif_image in ImageSequence.Iterator(tif_images):
        png_image_bytes_io = io.BytesIO()
        tif_image.save(png_image_bytes_io, format='png')  # <- raise Error
        result.append(png_image_bytes_io)
...

What are your OS, Python and Pillow versions?

  • OS: macOS Catalina 10.15.7
  • Python: 3.6.9
  • Pillow: 6.2.0

image

Traceback:

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/django/views/generic/base.py" in dispatch
  97.         return handler(request, *args, **kwargs)

File "/Users/ra/Projects/inapi/unsecured/views/upload_fax_document.py" in post
  105.             png_images = convert_tif_file_to_png_files(document_file.file)

File "/Users/ra/Projects/inapi/unsecured/views/upload_fax_document.py" in convert_tif_file_to_png_files
  61.             tif_image.save(png_image_bytes_io, format='png')

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/PIL/Image.py" in save
  2050.         self._ensure_mutable()

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/PIL/Image.py" in _ensure_mutable
  640.             self._copy()

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/PIL/Image.py" in _copy
  633.         self.load()

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/PIL/TiffImagePlugin.py" in load
  1097.             return self._load_libtiff()

File "/Users/ra/.pyenv/versions/inapi/lib/python3.6/site-packages/PIL/TiffImagePlugin.py" in _load_libtiff
  1209.             raise IOError(err)

Exception Type: OSError at /unsecured/upload_fax_document/
Exception Value: -9

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions