Problem with visualisation of xdmf files in ParaView

Dear all,

I am simulating the flow past a cylinder of the dolfinx tutorial (Test problem 2: Flow past a cylinder (DFG 2D-3 benchmark)).
The code is running perfectly. The problem comes when I try to visualise the xdmf file in ParaView. I am using Xdmf3ReaderT and when I click on the apply button, ParaView crashes and I receive the following error message:

HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 139974357752960:
#000: …/…/…/src/H5F.c line 509 in H5Fopen(): unable to open file
major: File accessibilty
minor: Unable to open file
#001: …/…/…/src/H5Fint.c line 1400 in H5F__open(): unable to open file
major: File accessibilty
minor: Unable to open file
#002: …/…/…/src/H5Fint.c line 1546 in H5F_open(): unable to open file: time = Mon Oct 25 14:56:16 2021
, name = ‘/home/javierlm/Documentos/Fenics/2D.h5’, tent_flags = 0
major: File accessibilty
minor: Unable to open file
#003: …/…/…/src/H5FD.c line 734 in H5FD_open(): open failed
major: Virtual File Layer
minor: Unable to initialize object
#004: …/…/…/src/H5FDsec2.c line 346 in H5FD_sec2_open(): unable to open file: name = ‘/home/javierlm/Documentos/Fenics/2D.h5’, errno = 2, error message = ‘No such file or directory’, flags = 0, o_flags = 0
major: File accessibilty
minor: Unable to open file
HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 139974357752960:
#000: …/…/…/src/H5D.c line 282 in H5Dopen2(): not a location
major: Invalid arguments to routine
minor: Inappropriate type
#001: …/…/…/src/H5Gloc.c line 246 in H5G_loc(): invalid object ID
major: Invalid arguments to routine
minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 139974357752960:
#000: …/…/…/src/H5D.c line 372 in H5Dget_space(): not a dataset
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 139974357752960:
#000: …/…/…/src/H5S.c line 921 in H5Sget_simple_extent_ndims(): not a dataspace
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 139974357752960:
#000: …/…/…/src/H5Sselect.c line 311 in H5Sget_select_npoints(): not a dataspace
major: Invalid arguments to routine
minor: Inappropriate type
Number of dimensions in light data description in Xdmf does not match number of dimensions in hdf5 file.
terminate called after throwing an instance of ‘XdmfError’
what(): Number of dimensions in light data description in Xdmf does not match number of dimensions in hdf5 file.

Loguru caught a signal: SIGABRT
Stack trace:
74 0x55bdfe995dae paraview(+0x8dae) [0x55bdfe995dae]
73 0x7f4e6ca1c0b3 __libc_start_main + 243
72 0x55bdfe995c0a paraview(+0x8c0a) [0x55bdfe995c0a]
71 0x7f4e6b81b246 QCoreApplication::exec() + 150
70 0x7f4e6b8134db QEventLoop::exec(QFlags< QEventLoop::ProcessEventsFlag >) + 299
69 0x7f4e6b86c565 QEventDispatcherGlib::processEvents(QFlags< QEventLoop::ProcessEventsFlag >) + 101
68 0x7f4e678ab4a3 g_main_context_iteration + 51
67 0x7f4e678ab400 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f4e678ab400]
66 0x7f4e678ab17d g_main_context_dispatch + 637
65 0x7f4e50ec332e /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x7932e) [0x7f4e50ec332e]
64 0x7f4e6bbd935b QWindowSystemInterface::sendWindowSystemEvents(QFlags< QEventLoop::ProcessEventsFlag >) + 187
63 0x7f4e6bbff10b QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 603
62 0x7f4e6bbfd7d3 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 1763
61 0x7f4e6b81493a QCoreApplication::notifyInternal2(QObject*, QEvent*) + 394
60 0x7f4e6c2360f0 QApplication::notify(QObject*, QEvent*) + 816
59 0x7f4e6c22ca66 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 134
58 0x7f4e6c28e1ec /usr/bin/…/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1cc1ec) [0x7f4e6c28e1ec]
57 0x7f4e6c28b35d /usr/bin/…/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1c935d) [0x7f4e6c28b35d]
56 0x7f4e6c235457 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool, bool) + 439
55 0x7f4e6b81493a QCoreApplication::notifyInternal2(QObject*, QEvent*) + 394
54 0x7f4e6c236343 QApplication::notify(QObject*, QEvent*) + 1411
53 0x7f4e6c22ca66 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 134
52 0x7f4e6c26f2b6 QWidget::event(QEvent*) + 646
51 0x7f4e6c323035 QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 229
50 0x7f4e6c322e73 /usr/bin/…/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x260e73) [0x7f4e6c322e73]
49 0x7f4e6c321a2e /usr/bin/…/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x25fa2e) [0x7f4e6c321a2e]
48 0x7f4e6c321806 QAbstractButton::clicked(bool) + 70
47 0x7f4e6b840300 QMetaObject::activate(QObject*, int, int, void**) + 2000
46 0x7f4e6b376788 pqPropertiesPanel::apply() + 1096
45 0x7f4e6b22c096 pqPropertiesPanel::applied(pqProxy*) + 70
44 0x7f4e6b840300 QMetaObject::activate(QObject*, int, int, void**) + 2000
43 0x7f4e6c8226c1 pqApplyBehavior::applied(pqPropertiesPanel*, pqProxy*) + 209
42 0x7f4e6c8236ca pqApplyBehavior::showData(pqPipelineSource*, pqView*) + 426
41 0x7f4e690678b1 vtkSMParaViewPipelineControllerWithRendering::ShowInPreferredView(vtkSMSourceProxy*, int, vtkSMViewProxy*) + 161
40 0x7f4e69065c4d vtkSMParaViewPipelineControllerWithRendering::UpdatePipelineBeforeDisplay(vtkSMSourceProxy*, int, vtkSMViewProxy*) + 189
39 0x7f4e6ada85a0 vtkSMSourceProxy::UpdatePipeline(double) + 144
38 0x7f4e6ad35fbb vtkSMOutputPort::UpdatePipelineInternal(double, bool) + 203
37 0x7f4e68f7b978 vtkPVSessionBase::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) + 56
36 0x7f4e68f7cd84 vtkPVSessionCore::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) + 84
35 0x7f4e68f7cf56 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) + 246
34 0x7f4e68d18f95 vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) + 37
33 0x7f4e68d18ad2 vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) + 194
32 0x7f4e68d18995 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) + 1173
31 0x7f4e68d18367 vtkClientServerInterpreter::CallCommandFunction(char const*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) + 503
30 0x7f4e695cb303 /usr/bin/…/lib/x86_64-linux-gnu/libvtkPVServerManagerApplication-pv5.7.so.1(+0x3d1303) [0x7f4e695cb303]
29 0x7f4e68fb56ce vtkSISourceProxy::UpdatePipeline(int, double, bool) + 526
28 0x7f4e66e52fa7 vtkStreamingDemandDrivenPipeline::Update(int, vtkInformationVector*) + 279
27 0x7f4e66e23791 vtkDemandDrivenPipeline::UpdateData(int) + 161
26 0x7f4e66e51bdd vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 893
25 0x7f4e66e24916 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 310
24 0x7f4e66e1dd22 vtkCompositeDataPipeline::ForwardUpstream(vtkInformation*) + 386
23 0x7f4e66e51bdd vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 893
22 0x7f4e66e24d1f vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 1343
21 0x7f4e66e1ef41 vtkCompositeDataPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 129
20 0x7f4e66e220bd vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 61
19 0x7f4e66e27e36 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) + 86
18 0x7f4e651295af vtkXdmf3Reader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 383
17 0x7f4e65121d78 vtkXdmf3HeavyDataHandler::Populate(boost::shared_ptr, vtkDataObject*) + 1944
16 0x7f4e65121960 vtkXdmf3HeavyDataHandler::Populate(boost::shared_ptr, vtkDataObject*) + 896
15 0x7f4e65120967 vtkXdmf3HeavyDataHandler::Populate(boost::shared_ptr, vtkDataObject*) + 1207
14 0x7f4e6511f77b vtkXdmf3HeavyDataHandler::MakeUnsGrid(boost::shared_ptr, vtkUnstructuredGrid*, vtkXdmf3ArrayKeeper*) + 219
13 0x7f4e65109892 vtkXdmf3DataSet::XdmfToVTK(vtkXdmf3ArraySelection*, vtkXdmf3ArraySelection*, vtkXdmf3ArraySelection*, XdmfUnstructuredGrid*, vtkUnstructuredGrid*, vtkXdmf3ArrayKeeper*) + 50
12 0x7f4e65103e6c vtkXdmf3DataSet::CopyShape(XdmfUnstructuredGrid*, vtkUnstructuredGrid*, vtkXdmf3ArrayKeeper*) + 268
11 0x7f4e650ffeb4 /usr/bin/…/lib/x86_64-linux-gnu/libvtkIOXdmf3-pv5.7.so.1(+0x17eb4) [0x7f4e650ffeb4]
10 0x7f4e5e6d0505 XdmfArray::read() + 213
9 0x7f4e5e6d0330 XdmfArray::readController() + 1504
8 0x7f4e5e73807c XdmfHDF5Controller::read(XdmfArray*, int) + 2172
7 0x7f4e5e6bdca0 /usr/bin/…/lib/x86_64-linux-gnu/libvtkxdmfcore-pv5.7.so.1(+0x44ca0) [0x7f4e5e6bdca0]
6 0x7f4e6a4ba6a9 /usr/bin/…/lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa6a9) [0x7f4e6a4ba6a9]
5 0x7f4e6a4ba3f7 /usr/bin/…/lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa3f7) [0x7f4e6a4ba3f7]
4 0x7f4e6a4ba38c /usr/bin/…/lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa38c) [0x7f4e6a4ba38c]
3 0x7f4e6a4ae911 /usr/bin/…/lib/x86_64-linux-gnu/libstdc++.so.6(+0x9e911) [0x7f4e6a4ae911]
2 0x7f4e6ca1a859 abort + 299
1 0x7f4e6ca3b18b gsignal + 203
0 0x7f4e6ca3b210 /usr/bin/…/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f4e6ca3b210]
( 51.818s) [paraview ] :0 FATL| Signal: SIGABRT
Aborted (core dumped)

Does anyone know what is happening?

Thank you very much in advance!

1 Like

I am having the same problem with my visulization of xdmf files. Any help would be much appreciated…

Could you check if there is actually a file called 2D.h5 at: ‘/home/javierlm/Documentos/Fenics/2D.h5

I cannot reproduce this running:

docker run -ti -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --init -p 8888:8888 -v $(pwd):/root/shared -w /root/shared --rm dolfinx/lab

with an additional line in cell 17 (!pip3 install tqdm)
and then using Paraview 5.9.0 binary from Download | ParaView, Linux 64 bit on my Ubuntu 20.04.

1 Like

You can try these line
file_xdmf=XDMFFILE(“my_file.xdmf”)
file_xdmf.parameters[“flush_output”]=True

This works for me.