-
Notifications
You must be signed in to change notification settings - Fork 193
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 22] Invalid argument when simulation contains large amount of fluid/particles #477
Comments
The same problem does not occur at a resolution setting of 320. Maybe it's just a memory issue? |
Hi gogobd, Thanks for the report. I would guess that this error was caused by an out of memory issue. I was not able to test this file today as I am working from a laptop with 8GB RAM, but can test after the weekend. A cube shaped domain has quite a lot of voxels. 500x500x500 = 125 million voxels which will require quite a bit of RAM and processing time. An adjustment from 320 -> 500 resolution requires about 4x times the memory. A cone takes up roughly 25% of the domain volume, so that would be about 32 million voxels of fluid. Each fluid voxel requires 8 fluid particles, so in total I estimate about 260 million fluid particles! That is a very large amount of fluid to simulate and when the simulator was designed, I did not have a use-case this large in mind due to the very large simulation times that it would require. At the time I imagined 50 million particles to be an upper limit of what would be reasonable to simulate. Even if you were able to successfully write the file, you would likely run into errors further on in the simulation. Errors related to too much fluid can start at around 100 million particles and depends on the OS or system setup. The errors are related to a limit in the amount of data we can transfer between the simulation engine and the Blender addon at a time. As well as issues related to handling large numbers within the simulator (integer overflow). This is a design issue and can certainly be fixed in a future release and should not be too difficult to fix. However, a fix will require changing the structure of the simulation cache and this will break compatibility with caches created in older version of the addon. There is another fix I would like to add that will also break cache compatibility (#462). I would prefer not to break the cache in a minor experimental release so this fix may need to wait until the next full release of a FLIP Fluids version. - Ryan |
This issue has now been fixed and will be included in the next release (date unknown). This fix will not end up breaking compatibility for older caches. |
System Information
Blender Version (including hash): 2.79b f4dc9f9
FLIP Fluids Version: 1.0.6 Stable 10-OCT-2019
Operating System: macOS High Sierra 10.13.6
CPU: 3,7 GHz Quad-Core Intel Xenon E5
GFX: AMD FirePro D300 2048 MB
RAM: 16GB 1866 Mhz DDR3
Describe the bug
It's odd, I got errors rendering a scene with 500x500x500 particles. To reproduce I tried the best machine I could use and I tracked the problem down to
(I added a breakpoint.) I can write something to the file (path is ok)
But there's an OSError when the data should be written
I see that data is large:
But my filesystem is ok with large files like that:
To Reproduce
I created a .blend file, just adding a 8x8x8 cube and an 8x8x8 cone, made the cube the domain and the cone is fluid. Bake settings Grid Resolution: 500/15, Surface Mesh Subdivisions: 1; I have attached a.blend file (zipped) that can help reproduce the problem: break.blend.zip
Expected Behaviour
Bake goes well
Actual Behaviour
Crashes with OSError after generating the surface mash. Output:
Screenshots
N/A
The text was updated successfully, but these errors were encountered: