isoVolume crash

Hi, I am trying to create isovolume from a 3D tiff stack. It crashes with this error message:

terminate called after throwing an instance of ‘std::bad_array_new_length’
what(): std::bad_array_new_length
Aborted (core dumped)

We tried Paraview 5.7 and 5.6 (linux and windows) with no luck. Any idea what the issue is?

Sounds like an overflow issue. However, iso-volume may not be the most memory (or computation) efficient here since it will generate an unstructured grid for the full extracted volume. If you’re just interested in the low-iso-value high-iso-value surfaces, contour filter may be the better option.

Another option is to run with a parallel pvserver, so that the data gets splits into multiple chucks and thus avoid the overflow.

I am going to try to see if I can determine where the overflow is happening locally.

Hi Utkarsh,

pvserver also crashed. I ran pvserver on a server with 1.5TB ram and used a local paraview to create the isovolume.

mpirun -np 40 ./pvserver

terminate called after throwing an instance of ‘std::bad_array_new_length’

what(): std::bad_array_new_length

while I am sure it’s overflow, I am not sure where it’s happening. Ideally a debug build in a debugger would help, but let’s try one more thing. Is it possible to try out with the latest 5.7-RC? 5.7 supports a -l=<filename> argument that will make it save a log file. Try runnning paraview as follows:

> paraview -l=<filename>,TRACE

this will trace all filter executions and hopefully narrow down the location of the exception.

I tried v5.7, it crashed. I am attaching the log.
isoVolumeTestLog.txt (8.1 KB)

sweet, that helped! I see several vtkIdType to int conversions in vtkTableBasedClipDataSet::ClipRectilinearGridData which are causing the overflow. I’ll take a pass at cleaning it up for the next RC.