paraview mpi based server crashes when clipping tif stacks


I’m a sysadmin trying to figure out some paraview issues. We have paraview 5.10 available on a linux (centos7) cluster - the EGL and osmesa precompiled packages (though we have similar problems with self compiled 5.8.4). We run it on cluster nodes as an mpi-based server and have users connect to it with their desktop client via tunnels. For the most part this works nicely and i have no issues doing some of the tutorials with k20x GPUs or on CPU with osmesa and it was used on several types of real world data without issues.

However one user is having issues with a stack of 1730 tif files (2867x1952+0+0 8-bit Grayscale, 9.2GB total). The stack loads, we can slice it and do some other basic operations with it. It renders as a volume. However any attempt to clip crashes - either with or without a memory overrun (compute nodes have 240GB of memory). Is this something that should be working or are we doing something silly? Is there good documentation for how to work with this type of data? Hard to search for this but i’ve seen some other posts complaining about crashes when clipping tif stacks but it’s all rather non-specific. I’m relatively naive when it comes to paraview so these may be silly questions but i’ll try to provide answers to any feedback.

Any help would be greatly appreciated


Welcome to the ParaView community, Wolfgang!

Clipping a volumetric dataset produces an unstructured grid output, which greatly explodes the memory use. Each grid element is converted to 5 tetrahedra IIRC, and explicit connectivity information is created and stored in memory. It takes a lot more memory. Even with 240 GB of RAM, memory fragmentation may prevent buffers of the size needed from being created, hence a crash.

Another way to subset volumetric data without producing a huge unstructured grid is to use the Extract Subset filter. This lets you specify a sub-region of the grid and produces a regular grid output dataset that takes fare less memory.

That’s a great explanation. Thank you - I will pass it along