Issue with tecplot binary cell centered data.

I’m having an issue loading cell centered binary tecplot data. I’ve attached 4 files that reproduce my issue:
quad_centered.dat: Ascii file that loads just fine.
quad_centered.plt: Binary form of previous file that does not load correctly.
quad_nodal.dat: Ascii file with only nodal data. Loads fine
quad_nodal.plt: Binary of previous file that loads just fine.

The binary files were created from the .dat files using tecplot’s preplot so should be correct. They are the 2009 version (!#TVD112) format.

A clue is that the info shows that the dataset has 2 nodes instead of 4. So something is going haywire on the load.

Thanks,
Gaetan

quad_centered.dat (192 Bytes)
quad_centered.plt (344 Bytes)
quad_nodal.dat (176 Bytes)
quad_nodal.plt (340 Bytes)

I reproduce, but investigation would be needed to know if this is a bug in the reader or a problem with your data.

It is definitely a problem with the reader, not the data. The .plt files were written by tecolot’s preplot utility so they should (by definition?) be correct.

From what I understand, the binary tecplot reader comes from visit and I’ve tried loading the data there as well. Visit reads and displays the quad correctly, but doesn’t load the cell centered data correctly.

Gaetan

Yes, this is most likely a visit issue.

So I think I may have tracked down the issue…
The visit code has the the following fix from Jan 21:

While the corresponding file in the visit bridge does not:
https://gitlab.kitware.com/paraview/visitbridge/-/blob/0d1cc783e8835f02bbca1757a24dd5d8813dbc90/databases/readers/Tecplot/TecplotFile.C#L2229

I guess the fix hasn’t been ported over to Paraview?

Gaetan

Indeed, updating Visit will be necessary to get the fix

FYI @ben.boeckel

On a somewhat related note…has the visit bridge stuff been abandoned? The test I was doing earlier was on Paraview 5.6.0 which I now realize is quite out of date. On a different computer with 5.10.0 RC1, (using Ubuntu 22.04 and Paraview from the package manager) the tecplot binary reader from visit (and all other visit readers) are not available and it seems like paraview can’t read any tecplot binary data at all.

Thanks,
Gaetan

Not at all, visitbridge is still present, I just tested with 5.11-RC2.

However, visitbridge plugin is not supported currently. FYI @nicolas.vuaille

Thanks. I saw after in the release notes for the Ubuntu build it got disabled. I just downgraded to 5.7 and it came back.

Any idea when the existing visit fix might incorporated?

Thanks
Gaetan

@mwestphal , what is the difference between the visit bridge being present (i.e., I can use the VisIt readers) and having a visitbridge plugin (i.e., I can load a plugin and use the VisIt readers)? I’m missing something! Thanks.

@Gaetan_Kenway did you try with 5.11-RC1 ?

@wascott :
Visit Bridge is component of ParaView that depends on Visit and bring in many readers from Visit into ParaView

A Visit Bridge plugin is a ParaView plugin that rely on the Visit Bridge architecture to bring in a Visit Reader, either from visit or from anyone writing a Visit Reader (like writing a VTK reader and exposing it using a standard ParaView plugin).
https://gitlab.kitware.com/paraview/paraview/-/issues/13577

@mwestphal I just downloaded 5.11-RC1 and tried the centered_quad.plt file again. The visit bridge is back so it can open the .plt files, but I still have the same segfault issue.

Another couple of hits maybe: When I load the centered_quad.plt file I see the following:


It shows there are three (X,Y,Z) point arrays and the cell array ‘A’.

However, when I use the ascii centered_quad.dat file, I see the following:

It only shows the ‘A’ dataset since I assume it figured out the X,Y,Z are the coordinate arrays.

This is the backtrace I get when it segfaults with the binary .plt file:

kenway@mica:~/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin$ ./paraview
VisRTX 0.1.6, using devices:
 0: NVIDIA GeForce GTX 970 (Total: 4.2 GB, Available: 3.6 GB)

Loguru caught a signal: SIGSEGV
Stack trace:
68            0x40810a /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/paraview-real() [0x40810a]
67      0x7f705389e083 __libc_start_main + 243
66            0x407d9a /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/paraview-real() [0x407d9a]
65      0x7f7050b02e93 QCoreApplication::exec() + 131
64      0x7f7050af9d7a QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 298
63      0x7f7015cbc063 /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5(+0x58063) [0x7f7015cbc063]
62      0x7f70511cdaab QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 171
61      0x7f70511f3d55 QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 261
60      0x7f70511f288b QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 1051
59      0x7f7050afb3b3 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 259
58      0x7f7052c2652f QApplication::notify(QObject*, QEvent*) + 543
57      0x7f7052c1fbec QApplicationPrivate::notify_helper(QObject*, QEvent*) + 156
56      0x7f7052c7aa6b /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/../lib/libQt5Widgets.so.5(+0x1b9a6b) [0x7f7052c7aa6b]
55      0x7f7052c77cda /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/../lib/libQt5Widgets.so.5(+0x1b6cda) [0x7f7052c77cda]
54      0x7f7052c25b3c QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 460
53      0x7f7050afb3b3 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 259
52      0x7f7052c273a7 QApplication::notify(QObject*, QEvent*) + 4247
51      0x7f7052c1fbec QApplicationPrivate::notify_helper(QObject*, QEvent*) + 156
50      0x7f7052c5dd88 QWidget::event(QEvent*) + 424
49      0x7f7052d075b5 QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 213
48      0x7f7052d073ea /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/../lib/libQt5Widgets.so.5(+0x2463ea) [0x7f7052d073ea]
47      0x7f7052d0604a /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/../lib/libQt5Widgets.so.5(+0x24504a) [0x7f7052d0604a]
46      0x7f7052d05e62 QAbstractButton::clicked(bool) + 50
45      0x7f7050b36713 /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/../lib/libQt5Core.so.5(+0x2e2713) [0x7f7050b36713]
44      0x7f70524e53f8 pqPropertiesPanel::apply() + 408
43      0x7f7050b36924 /home/kenway/Downloads/ParaView-5.11.0-RC1-MPI-Linux-Python3.9-x86_64/bin/../lib/libQt5Core.so.5(+0x2e2924) [0x7f7050b36924]
42      0x7f7053404f15 pqApplyBehavior::applied(pqPropertiesPanel*) + 1365
41      0x7f70443bfeec vtkSMViewProxy::Update() + 188
40      0x7f704fb0cc95 vtkPVSessionBase::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) + 53
39      0x7f704fb0df7b vtkPVSessionCore::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) + 59
38      0x7f704fb0e142 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) + 242
37      0x7f704e6dbafd vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) + 29
36      0x7f704e6db85e vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) + 1294
35      0x7f704e6db12d vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) + 1229
34      0x7f704e6da963 vtkClientServerInterpreter::CallCommandFunction(char const*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) + 355
33      0x7f70451f2451 vtkPVRenderViewCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&, void*) + 22849
32      0x7f70442fa874 vtkPVRenderView::Update() + 116
31      0x7f7044314c94 vtkPVView::Update() + 244
30      0x7f7044312fc2 vtkPVView::CallProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformationVector*) + 242
29      0x7f70442664c8 vtkGeometryRepresentationWithFaces::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 24
28      0x7f70442644d9 vtkGeometryRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 25
27      0x7f70442b3fe1 vtkPVDataRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 225
26      0x7f704a3598aa vtkStreamingDemandDrivenPipeline::Update(int, vtkInformationVector*) + 282
25      0x7f704a2edefa vtkDemandDrivenPipeline::UpdateData(int) + 138
24      0x7f70442b51d6 vtkPVDataRepresentationPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 70
23      0x7f704a358029 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 953
22      0x7f704a2ef8de vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 222
21      0x7f704a2e7f21 vtkCompositeDataPipeline::ForwardUpstream(vtkInformation*) + 337
20      0x7f704a358029 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 953
19      0x7f704a2ef8de vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 222
18      0x7f704a2e7f21 vtkCompositeDataPipeline::ForwardUpstream(vtkInformation*) + 337
17      0x7f704a358029 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 953
16      0x7f704a2ef93a vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 314
15      0x7f704a2e9039 vtkCompositeDataPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 121
14      0x7f704a2ec517 vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 55
13      0x7f704a2f3f90 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) + 64
12      0x7f7044704045 vtkFileSeriesReader::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 309
11      0x7f7044703df5 vtkFileSeriesReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 181
10      0x7f703483ee46 vtkAvtSTMDFileFormatAlgorithm::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 486
9       0x7f703483bfca vtkAvtSTMDFileFormatAlgorithm::FillBlock(vtkMultiBlockDataSet*, avtMeshMetaData const*, int const&) + 730
8       0x7f704a3598aa vtkStreamingDemandDrivenPipeline::Update(int, vtkInformationVector*) + 282
7       0x7f704a2edefa vtkDemandDrivenPipeline::UpdateData(int) + 138
6       0x7f704a358029 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 953
5       0x7f704a2ef93a vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 314
4       0x7f704a2e9039 vtkCompositeDataPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 121
3       0x7f704a2ec517 vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 55
2       0x7f704a2f3f90 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) + 64
1       0x7f701e01abfb vtkUnstructuredGridRelevantPointsFilter::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 891
0       0x7f70538bd090 /lib/x86_64-linux-gnu/libc.so.6(+0x43090) [0x7f70538bd090]
( 436.600s) [paraview        ]                       :0     FATL| Signal: SIGSEGV
error: exception occurred: Segmentation fault

So, I suppose a VIsit update would be needed

By visit update…do you mean pararview itself uses a newer version of visit or I need to download a newer version of visit?

Gaetan

ParaView needs to update the version of Visit used in the superbuild. This may take a while I’m afraid.

@ben.boeckel

I was afraid of that. By “take a while” I assume that means 6 months to a year+ timeframe?

That depends.

This will definitely not comes in official binary releases before the next release (not the one being prepared right now unless I missed something @cory.quammen ). So, this is indeed 6 month / 1 year.

That being said, as soon as the updates happens, you will be able to download a ParaView nightly containing the fix.

In order to make the update happen faster, you can contact Kitware for support, see this:

Finally, you can also build ParaView and VisitBridge yourself, against a more revent version of Visit.

Best,

Ok. Thanks for your help. I can work around this until it gets merged into the nightly.

Thanks
Gaetan