Problem reading big vtu file (> int32)

Hi,

if have a very large grid converted to vtu (binary and ASCII format) and tried to read with ParaView (e.g. v5_12RC2 but does not matter - older versions have the same problem).

Reading the ASCII file with ParaView creates this error (with core dump):

terminate called after throwing an instance of ‘std::bad_array_new_length’* what(): std::bad_array_new_length*

The binary vtu creates this error (again with core dump):

*[paraview ]vtkXMLUnstructuredDataR:514 ERR| vtkXMLUnstructuredGridReader (0x6a6ab10): Cannot read points array from Points in piece 0. *
The data array in the element may be too short.

The dataset consist of four parts where the “hexa” part creates the problem (removing this part from vtm and read again all is fine).

Element || NumberOfPoints | NumberOfCells
Hexa || 382518494 | 367965864
Prisms || 26561626 | 11889244
Pyra || 32489753 | 16364502
Tetra || 24493577 | 77533523

Element || SizeConnectivity | MinConnectivity | MaxConnectivity
Hexa || 2943726912 *** | 0 | 382518493
Prisms || 71335464 | 0 | 26561625
Pyra || 81822510 | 0 | 32489752
Tetra || 310134092 | 0 | 24493576

Element || SizeOffsets | MinOffsets | MaxOffsets
Hexa || 367965864 | 8 | 2943726912 ***
Prisms || 11889244 | 6 | 71335464
Pyra || 16364502 | 5 | 81822510
Tetra || 77533523 | 4 | 310134092

*** = bigger then INT32

So there are some fields larger then INT32 (and written in INT64 therefore). The file/function which creates the error is

o ./VTK/IO/XML/vtkXMLUnstructuredDataReader.cxx
o Function ReadPieceData (line 456)
o Loop for (int i = 0; (i < ePoints->GetNumberOfNestedElements() && !this->AbortExecute); ++i) (line 496) → int?

So maybe that “int” is already the problem here?

The testcase can be downloaded from this link:

https://gigamove.rwth-aachen.de/de/download/26a7aff322d4aecec18f69bb7a5bab3c

Best regards and thank you for help already,

Stefan

Are you using Windows?

I believe this has been fixed in VTK but is possibly not yet available in Paraview. Did you try building Paraview from the latest source?

ParaView is from the last version - v5_12RC2 and i run under Linux. Maybe it make sense to use the newest VTK from git together with Paraview then?

If you’re running under Linux you’ve discovered a new issue.

Bad for me - but good for the improvement of ParaView :wink:

1 Like

The binary issue seems to be fixed with 5.12
The ascii issue is indeed present.