Crash with big endian Plot3D file

python

(Paul Zehner) #1

Hello Paraview community,

I have troubles processing big endian Plot3D files in an automated testing environment on Docker using pvpython. My script is pretty simple: open the xyz and the q file, extract data on a line, and write it to a text file. The process crashes when creating the writer object:

pvpython: /build/paraview-lH8wFv/paraview-5.4.1+dfsg3/VTK/IO/Parallel/vtkMultiBlockPLOT3DReader.cxx:1464: virtual int vtkMultiBlockPLOT3DReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*): Assertion `record.AtEnd(offset)' failed.
Aborted (core dumped)

The crash depends on the Docker image used: it occurs with Ubuntu 18.04.1 LTS (using Paraview 5.4.1+dfsg3-1), but not with OpenSUSE Leap 15.0 (using Paraview 5.4.1-lp150.2.20, which has not been compiled with MPI support, maybe this explains the difference).

The problem seems to be related to the VTK library. I found that the incriminated function RequestData was removed in v8.2.0.rc1. Could this be an explanation?

Little endian Plot3D files are fine, on the other hand. Can someone explain the difference in behavior of Paraview? Also, what can I do on my side, especially if I have to stick with the Ubuntu Docker image?


(Utkarsh Ayachit) #2

That sounds like a bug. Do you have sample dataset to share? I’d like to report it as an issue on the issue tracker so we can get it addressed for the next release.


(Paul Zehner) #3

I can open an issue on the Paraview Gitlab instance. I have a simple set of data I can share (4 MB).


(Utkarsh Ayachit) #4

Perfect! Thanks.


(Paul Zehner) #5

The issue is open here.


(Paul Zehner) #6

My bad, I mismatched big endian and little endian, sorry for the confusion (it is fixed now).