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

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
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 -9What are your OS, Python and Pillow versions?