I have created an VTU file with data arrays (including coordinates and element definition arrays) for multiple time steps in the same file, and paraview is crashing only for this specific set of steps.
Workflow 1
- Open Paraview
- Drag the vtu file to the pipeline
- Hit the eye icon to visualize the model
- Select any field for contour plots
- Hit Apply // CRASHES here
The error messages are like
ERROR: In vtkUnstructuredGridGeometryFilter.cxx, line 1288
vtkUnstructuredGridGeometryFilter (000001C933C380F0): Cell type UnknownClass(221) is not a 3D cell.
Workflow 2
- Open Paraview
- Drag the vtu file to the pipeline
- Hit Apply first.
- Now select any contour plots to visualize //All works fine
However, in workflow 2, it works fine even though the expected outcome of both workflows are the same.
I have built a debug version of paraview to check what’s going wrong and I see GetNumberofCells() in Line 26 of vtkUpdateCellsV8toV9.h gives incorrect (double) amount of cells which causes Out of bound memory access in GetTypedComponent() in Line 29. I am not sure what is causing to return incorrect values.
I have attached an sample version of VTU file (since I can’t share the whole model) as well as the call stack and the paraview build information below.
<?xml version="1.0"?>
<VTKFile byte_order="LittleEndian" header_type="UInt32" type="UnstructuredGrid" version="0.1">
<UnstructuredGrid TimeValues="0 1 2">
<Piece NumberOfCells="8" NumberOfPoints="27">
<Points>
<DataArray Name="Points" NumberOfComponents="3" TimeStep="0" format="ascii" type="Float64">
0.0 0.0 0.0 1.0 0.0 0.0 2.0 0.0 0.0
0.0 1.0 0.0 1.0 1.0 0.0 2.0 1.0 0.0
0.0 2.0 0.0 1.0 2.0 0.0 2.0 2.0 0.0
0.0 0.0 1.0 1.0 0.0 1.0 2.0 0.0 1.0
0.0 1.0 1.0 1.0 1.0 1.0 2.0 1.0 1.0
0.0 2.0 1.0 1.0 2.0 1.0 2.0 2.0 1.0
0.0 0.0 2.0 1.0 0.0 2.0 2.0 0.0 2.0
0.0 1.0 2.0 1.0 1.0 2.0 2.0 1.0 2.0
0.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0
</DataArray>
<DataArray Name="Points" NumberOfComponents="3" TimeStep="1" format="ascii" type="Float64">
0.0 0.0 0.0 1.1 0.0 0.0 2.2 0.0 0.0
0.0 1.1 0.0 1.1 1.1 0.0 2.2 1.1 0.0
0.0 2.2 0.0 1.1 2.2 0.0 2.2 2.2 0.0
0.0 0.0 1.1 1.1 0.0 1.1 2.2 0.0 1.1
0.0 1.1 1.1 1.1 1.1 1.1 2.2 1.1 1.1
0.0 2.2 1.1 1.1 2.2 1.1 2.2 2.2 1.1
0.0 0.0 2.2 1.1 0.0 2.2 2.2 0.0 2.2
0.0 1.1 2.2 1.1 1.1 2.2 2.2 1.1 2.2
0.0 2.2 2.2 1.1 2.2 2.2 2.2 2.2 2.2
</DataArray>
<DataArray Name="Points" NumberOfComponents="3" TimeStep="2" format="ascii" type="Float64">
0.0 0.0 0.0 1.2 0.0 0.0 2.4 0.0 0.0
0.0 1.2 0.0 1.2 1.2 0.0 2.4 1.2 0.0
0.0 2.4 0.0 1.2 2.4 0.0 2.4 2.4 0.0
0.0 0.0 1.2 1.2 0.0 1.0 2.4 0.0 1.2
0.0 1.2 1.2 1.2 1.2 1.0 2.4 1.2 1.2
0.0 2.4 1.2 1.2 2.4 1.0 2.4 2.4 1.2
0.0 0.0 2.4 1.2 0.0 2.0 2.4 0.0 2.4
0.0 1.2 2.4 1.2 1.2 2.0 2.4 1.2 2.4
0.0 2.4 2.4 1.2 2.4 2.0 2.4 2.4 2.4
</DataArray>
</Points>
<Cells>
<DataArray Name="connectivity" TimeStep="0" format="ascii" type="Int64">
0 1 4 3 9 10 13 12
1 2 5 4 10 11 14 13
3 4 7 6 12 13 16 15
4 5 8 7 13 14 17 16
9 10 13 12 18 19 22 21
10 11 14 13 19 20 23 22
12 13 16 15 21 22 25 24
13 14 17 16 22 23 26 25
</DataArray>
<DataArray Name="offsets" TimeStep="0" format="ascii" type="Int64">
8 16 24 32 40 48 56 64
</DataArray>
<DataArray Name="types" TimeStep="0" format="ascii" type="UInt8">
12 12 12 12 12 12 12 12
</DataArray>
<DataArray Name="connectivity" TimeStep="1" format="ascii" type="Int64">
0 1 4 3 9 10 13 12
1 2 5 4 10 11 14 13
3 4 7 6 12 13 16 15
4 5 8 7 13 14 17 16
9 10 13 12 18 19 22 21
10 11 14 13 19 20 23 22
12 13 16 15 21 22 25 24
13 14 17 16 22 23 26 25
</DataArray>
<DataArray Name="offsets" TimeStep="1" format="ascii" type="Int64">
8 16 24 32 40 48 56 64
</DataArray>
<DataArray Name="types" TimeStep="1" format="ascii" type="UInt8">
12 12 12 12 12 12 12 12
</DataArray>
<DataArray Name="connectivity" TimeStep="2" format="ascii" type="Int64">
0 1 4 3 9 10 13 12
1 2 5 4 10 11 14 13
3 4 7 6 12 13 16 15
4 5 8 7 13 14 17 16
9 10 13 12 18 19 22 21
10 11 14 13 19 20 23 22
12 13 16 15 21 22 25 24
13 14 17 16 22 23 26 25
</DataArray>
<DataArray Name="offsets" TimeStep="2" format="ascii" type="Int64">
8 16 24 32 40 48 56 64
</DataArray>
<DataArray Name="types" TimeStep="2" format="ascii" type="UInt8">
12 12 12 12 12 12 12 12
</DataArray>
</Cells>
<PointData>
<DataArray Name="Temperature" NumberOfComponents="1" TimeStep="0" format="ascii" type="Float64">
300.0 310.0 320.0 330.0 340.0 350.0 360.0 370.0 380.0
390.0 400.0 410.0 420.0 430.0 440.0 450.0 460.0 470.0
480.0 490.0 500.0 510.0 520.0 530.0 540.0 550.0 560.0
</DataArray>
<DataArray Name="Temperature" NumberOfComponents="1" TimeStep="1" format="ascii" type="Float64">
304.0 314.0 324.0 334.0 344.0 354.0 364.0 374.0 384.0
394.0 404.0 414.0 424.0 434.0 444.0 454.0 464.0 474.0
484.0 494.0 504.0 514.0 524.0 534.0 544.0 554.0 564.0
</DataArray>
<DataArray Name="Temperature" NumberOfComponents="1" TimeStep="2" format="ascii" type="Float64">
308.0 318.0 328.0 338.0 348.0 358.0 368.0 378.0 388.0
398.0 408.0 418.0 428.0 438.0 448.0 458.0 468.0 478.0
488.0 498.0 508.0 518.0 528.0 538.0 548.0 558.0 568.0
</DataArray>
</PointData>
<CellData>
<DataArray Name="epspls" NumberOfComponents="1" TimeStep="0" format="ascii" type="Float64">
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
</DataArray>
<DataArray Name="epspls" NumberOfComponents="1" TimeStep="1" format="ascii" type="Float64">
0.14 0.24 0.34 0.44 0.54 0.64 0.74 0.84
</DataArray>
<DataArray Name="epspls" NumberOfComponents="1" TimeStep="2" format="ascii" type="Float64">
0.18 0.28 0.38 0.48 0.58 0.68 0.78 0.88
</DataArray>
</CellData>
</Piece>
</UnstructuredGrid>
</VTKFile>
Paraview Call Stack when the error occurs
> vtkCommonCore-pv5.12d.dll!vtkAOSDataArrayTemplate<unsigned char>::GetTypedComponent(__int64 tupleIdx, int comp) Line 101 C++
vtkIOXML-pv5.12d.dll!vtkUpdateCellsV8toV9(vtkUnstructuredGrid * output) Line 29 C++
vtkIOXML-pv5.12d.dll!vtkXMLUnstructuredGridReader::ReadPieceData() Line 301 C++
vtkIOXML-pv5.12d.dll!vtkXMLDataReader::ReadPieceData(int piece) Line 348 C++
vtkIOXML-pv5.12d.dll!vtkXMLUnstructuredDataReader::ReadXMLData() Line 277 C++
vtkIOXML-pv5.12d.dll!vtkXMLReader::RequestData(vtkInformation * __formal, vtkInformationVector * * __formal, vtkInformationVector * outputVector) Line 751 C++
vtkIOXML-pv5.12d.dll!vtkXMLReader::ProcessRequest(vtkInformation * request, vtkInformationVector * * inputVector, vtkInformationVector * outputVector) Line 2070 C++
vtkPVVTKExtensionsIOCore-pv5.12d.dll!vtkFileSeriesReader::RequestData(vtkInformation * request, vtkInformationVector * * inputVector, vtkInformationVector * outputVector) Line 715 C++
vtkPVVTKExtensionsIOCore-pv5.12d.dll!vtkFileSeriesReader::ProcessRequest(vtkInformation * request, vtkInformationVector * * inputVector, vtkInformationVector * outputVector) Line 522 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkExecutive::CallAlgorithm(vtkInformation * request, int direction, vtkInformationVector * * inInfo, vtkInformationVector * outInfo) Line 723 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkDemandDrivenPipeline::ExecuteData(vtkInformation * request, vtkInformationVector * * inInfo, vtkInformationVector * outInfo) Line 450 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkCompositeDataPipeline::ExecuteData(vtkInformation * request, vtkInformationVector * * inInfoVec, vtkInformationVector * outInfoVec) Line 151 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkDemandDrivenPipeline::ProcessRequest(vtkInformation * request, vtkInformationVector * * inInfoVec, vtkInformationVector * outInfoVec) Line 249 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation * request, vtkInformationVector * * inInfoVec, vtkInformationVector * outInfoVec) Line 336 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkCompositeDataPipeline::ForwardUpstream(vtkInformation * request) Line 721 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkDemandDrivenPipeline::ProcessRequest(vtkInformation * request, vtkInformationVector * * inInfoVec, vtkInformationVector * outInfoVec) Line 235 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation * request, vtkInformationVector * * inInfoVec, vtkInformationVector * outInfoVec) Line 336 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkDemandDrivenPipeline::UpdateData(int outputPort) Line 409 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkStreamingDemandDrivenPipeline::Update(int port, vtkInformationVector * requests) Line 426 C++
vtkCommonExecutionModel-pv5.12d.dll!vtkStreamingDemandDrivenPipeline::Update(int port) Line 390 C++
vtkRemotingServerManager-pv5.12d.dll!vtkSISourceProxy::UpdatePipeline(int port, double time, bool doTime) Line 243 C++
vtkRemotingApplication-pv5.12d.dll!vtkSISourceProxyCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream, void * __formal) Line 143 C++
vtkRemotingClientServerStream-pv5.12d.dll!vtkClientServerInterpreter::CallCommandFunction(const char * cname, vtkObjectBase * ptr, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & result) Line 798 C++
vtkRemotingApplication-pv5.12d.dll!vtkSIMetaReaderProxyCommand(vtkClientServerInterpreter * arlu, vtkObjectBase * ob, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & resultStream, void * __formal) Line 117 C++
vtkRemotingClientServerStream-pv5.12d.dll!vtkClientServerInterpreter::CallCommandFunction(const char * cname, vtkObjectBase * ptr, const char * method, const vtkClientServerStream & msg, vtkClientServerStream & result) Line 798 C++
vtkRemotingClientServerStream-pv5.12d.dll!vtkClientServerInterpreter::ProcessCommandInvoke(const vtkClientServerStream & css, int midx) Line 412 C++
vtkRemotingClientServerStream-pv5.12d.dll!vtkClientServerInterpreter::ProcessOneMessage(const vtkClientServerStream & css, int message) Line 253 C++
vtkRemotingClientServerStream-pv5.12d.dll!vtkClientServerInterpreter::ProcessStream(const vtkClientServerStream & css) Line 223 C++
vtkRemotingServerManager-pv5.12d.dll!vtkPVSessionCore::ExecuteStreamInternal(const vtkClientServerStream & stream, bool ignore_errors) Line 609 C++
vtkRemotingServerManager-pv5.12d.dll!vtkPVSessionCore::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors) Line 578 C++
vtkRemotingServerManager-pv5.12d.dll!vtkPVSessionBase::ExecuteStream(unsigned int location, const vtkClientServerStream & stream, bool ignore_errors) Line 155 C++
vtkRemotingServerManager-pv5.12d.dll!vtkSMProxy::ExecuteStream(const vtkClientServerStream & stream, bool ignore_errors, unsigned int location) Line 2394 C++
vtkRemotingServerManager-pv5.12d.dll!vtkSMOutputPort::UpdatePipelineInternal(double time, bool doTime) Line 288 C++
vtkRemotingServerManager-pv5.12d.dll!vtkSMOutputPort::UpdatePipeline(double time) Line 277 C++
vtkRemotingServerManager-pv5.12d.dll!vtkSMSourceProxy::UpdatePipeline(double time) Line 348 C++
vtkRemotingViews-pv5.12d.dll!vtkSMParaViewPipelineControllerWithRendering::UpdatePipelineBeforeDisplay(vtkSMSourceProxy * producer, int outputPort, vtkSMViewProxy * view) Line 757 C++
vtkRemotingViews-pv5.12d.dll!vtkSMParaViewPipelineControllerWithRendering::ShowInPreferredView(vtkSMSourceProxy * producer, int outputPort, vtkSMViewProxy * view) Line 605 C++
pqApplicationComponents-pv5.12d.dll!pqApplyBehavior::showData(pqPipelineSource * source, pqView * view) Line 335 C++
pqApplicationComponents-pv5.12d.dll!pqApplyBehavior::applied(pqPropertiesPanel * __formal, pqProxy * pqproxy) Line 162 C++
pqApplicationComponents-pv5.12d.dll!pqApplyBehavior::onApplied(pqProxy * proxy) Line 127 C++
pqApplicationComponents-pv5.12d.dll!QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,QtPrivate::List<pqProxy *>,void,void (__cdecl pqApplyBehavior::*)(pqProxy *)>::call(void(pqApplyBehavior::*)(pqProxy *) f, pqApplyBehavior * o, void * * arg) Line 152 C++
pqApplicationComponents-pv5.12d.dll!QtPrivate::FunctionPointer<void (__cdecl pqApplyBehavior::*)(pqProxy *)>::call<QtPrivate::List<pqProxy *>,void>(void(pqApplyBehavior::*)(pqProxy *) f, pqApplyBehavior * o, void * * arg) Line 185 C++
pqApplicationComponents-pv5.12d.dll!QtPrivate::QSlotObject<void (__cdecl pqApplyBehavior::*)(pqProxy *),QtPrivate::List<pqProxy *>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 418 C++
Qt5Cored.dll!QtPrivate::QSlotObjectBase::call(QObject * r, void * * a) Line 398 C++
Qt5Cored.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 3886 C++
Qt5Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3947 C++
pqComponents-pv5.12d.dll!pqPropertiesPanel::applied(pqProxy * _t1) Line 392 C++
pqComponents-pv5.12d.dll!pqPropertiesPanel::apply() Line 822 C++
pqComponents-pv5.12d.dll!pqPropertiesPanel::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 214 C++
Qt5Cored.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 3901 C++
Qt5Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3947 C++
Qt5Widgetsd.dll!QAbstractButton::clicked(bool _t1) Line 309 C++
Qt5Widgetsd.dll!QAbstractButtonPrivate::emitClicked() Line 417 C++
Qt5Widgetsd.dll!QAbstractButtonPrivate::click() Line 409 C++
Qt5Widgetsd.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e) Line 1045 C++
Qt5Widgetsd.dll!QWidget::event(QEvent * event) Line 8646 C++
Qt5Widgetsd.dll!QAbstractButton::event(QEvent * e) Line 1002 C++
Qt5Widgetsd.dll!QPushButton::event(QEvent * e) Line 696 C++
Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3632 C++
Qt5Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3076 C++
Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1063 C++
Qt5Cored.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent * event) Line 1471 C++
Qt5Widgetsd.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver, QMouseEvent * event, QWidget * alienWidget, QWidget * nativeWidget, QWidget * * buttonDown, QPointer<QWidget> & lastMouseReceiver, bool spontaneous, bool onlyDispatchEnterLeave) Line 2614 C++
Qt5Widgetsd.dll!QWidgetWindow::handleMouseEvent(QMouseEvent * event) Line 685 C++
Qt5Widgetsd.dll!QWidgetWindow::event(QEvent * event) Line 301 C++
Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3632 C++
Qt5Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 2972 C++
Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1063 C++
Qt5Cored.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent * event) Line 1471 C++
Qt5Guid.dll!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent * e) Line 2283 C++
Qt5Guid.dll!QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent * e) Line 2003 C++
Qt5Guid.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 1175 C++
qwindowsd.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 82 C++
Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 530 C++
qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 73 C++
Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 140 C++
Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 232 C++
Qt5Cored.dll!QCoreApplication::exec() Line 1371 C++
Qt5Guid.dll!QGuiApplication::exec() Line 1868 C++
Qt5Widgetsd.dll!QApplication::exec() Line 2825 C++
paraview.exe!main(int argc, char * * argv) Line 134 C++
paraview.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 97 C++
[External Code]
Paraview Build Information
Client Information:
Version: 5.12.1
VTK Version: 9.3.0-1255-g09a76bc55b
Qt Version: 5.15.2
vtkIdType size: 64bits
Embedded Python: Off
Python Testing: Off
MPI Enabled: On
Disable Registry: Off
Test Directory:
Data Directory:
SMP Backend: Sequential
SMP Max Number of Threads: 1
OpenGL Vendor: NVIDIA Corporation
OpenGL Version: 3.2.0 NVIDIA 536.45
OpenGL Renderer: Quadro RTX 3000/PCIe/SSE2
Accelerated filters overrides available: No
Connection Information:
Remote Connection: No