New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OSError: [Errno 24] Too many open files for image.save for tiff images #5936
Comments
If you didn't have the context manager, I would suggest calling But you do, so that makes things more interesting. Is there any way for you to provide us with a self-contained example including images, so that we can run the code and see the error for ourselves? |
I tried it without the context manager along with In the folder which I have attached, I ran |
The zip you've attached is empty? |
Apologies, I updated the attachment. |
Thanks. I was able to replicate the error using your attachment - radarhere@031dae421260 / https://ci.appveyor.com/project/radarhere/pillow/builds/42132497/job/qnvpmk4ougrx4x6l I've concluded that the problem is because of this Pillow/src/PIL/TiffImagePlugin.py Lines 1186 to 1188 in eff6c34
Perhaps libtiff doesn't always close the file pointer? If I ensure that it is closed, then the CI job passes. So I've created PR #5946 to resolve this. |
Thanks for this, the new change solves this problem. |
Be aware that #7199 has been opened, using an alternative method to fix this. |
What did you do?
I am opening a large number of jpg and tiff (single page & multi page) images, resizing them and saving them in a new directory. I am running this code within VS code in jupyter notebook using PIL 9.0.0
What did you expect to happen?
I expected the images to be opened, processed, saved and closed automatically because of the context manager.
What actually happened?
After opening over a thousand images I get the following error
I also notice that the python.exe instance builds up around 5GB ram. Restarting the Kernel releases the memory
I have tried every thing possible on the internet like temp copy, deep copy, using close(), using load() etc.
I have also tried every thing in this issue
The text was updated successfully, but these errors were encountered: