Paraview crashing with 2-D boxlib data

Hello everyone, I am trying to visualize a 2-d boxlib dataset that has many 2-d scalar fields and ParaView simply crashes when I try visualizing multiple variables. The same is observed when I do ANY operation after the first visualization. The terminal says:

free(): invalid next size (fast)

Loguru caught a signal: SIGABRT
Stack trace:
60      0x5624d4639dae paraview(+0x8dae) [0x5624d4639dae]
59      0x7ff0749680b3 __libc_start_main + 243
58      0x5624d4639c0a paraview(+0x8c0a) [0x5624d4639c0a]
57      0x7ff073765246 QCoreApplication::exec() + 150
56      0x7ff07375d4db QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 299
55      0x7ff0737b6565 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 101
54      0x7ff06f7f84a3 g_main_context_iteration + 51
53      0x7ff06f7f8400 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7ff06f7f8400]
52      0x7ff06f7f817d g_main_context_dispatch + 637
51      0x7ff0737b61e4 /usr/bin/../lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2de1e4) [0x7ff0737b61e4]
50      0x7ff0737b58b0 QTimerInfoList::activateTimers() + 976
49      0x7ff07375e93a QCoreApplication::notifyInternal2(QObject*, QEvent*) + 394
48      0x7ff0741820f0 QApplication::notify(QObject*, QEvent*) + 816
47      0x7ff074178a66 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 134
46      0x7ff07378acf5 QObject::event(QEvent*) + 469
45      0x7ff07379751e QTimer::timeout(QTimer::QPrivateSignal) + 62
44      0x7ff07378a300 QMetaObject::activate(QObject*, int, int, void**) + 2000
43      0x7ff0732c0650 pqPropertiesPanel::apply() + 784
42      0x7ff07378a300 QMetaObject::activate(QObject*, int, int, void**) + 2000
41      0x7ff07476ed0d pqApplyBehavior::applied(pqPropertiesPanel*) + 893
40      0x7ff070fec156 vtkSMViewProxy::Update() + 342
39      0x7ff070ec5978 vtkPVSessionBase::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) + 56
38      0x7ff070ec6d84 vtkPVSessionCore::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) + 84
37      0x7ff070ec6f56 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) + 246
36      0x7ff070c62f95 vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) + 37
35      0x7ff070c62ad2 vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) + 194
34      0x7ff070c62995 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) + 1173
33      0x7ff070c62367 vtkClientServerInterpreter::CallCommandFunction(char const*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) + 503
32      0x7ff07141a435 /usr/bin/../lib/x86_64-linux-gnu/libvtkPVServerManagerApplication-pv5.7.so.1(+0x2d4435) [0x7ff07141a435]
31      0x7ff070df438e vtkPVRenderView::Update() + 190
30      0x7ff070dfb10e vtkPVView::Update() + 318
29      0x7ff070df9ff1 vtkPVView::CallProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformationVector*) + 129
28      0x7ff070d9dfea vtkGeometryRepresentationWithFaces::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 26
27      0x7ff070d9accd vtkGeometryRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 29
26      0x7ff070dc7673 vtkPVDataRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) + 99
25      0x7ff06ed9dfa7 vtkStreamingDemandDrivenPipeline::Update(int, vtkInformationVector*) + 279
24      0x7ff06ed6e791 vtkDemandDrivenPipeline::UpdateData(int) + 161
23      0x7ff06ed9cbdd vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 893
22      0x7ff06ed6f916 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 310
21      0x7ff06ed68d22 vtkCompositeDataPipeline::ForwardUpstream(vtkInformation*) + 386
20      0x7ff06ed9cbdd vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 893
19      0x7ff06ed6f916 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 310
18      0x7ff06ed68d22 vtkCompositeDataPipeline::ForwardUpstream(vtkInformation*) + 386
17      0x7ff06ed9cbdd vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 893
16      0x7ff06ed6fd1f vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 1343
15      0x7ff06ed69f41 vtkCompositeDataPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 129
14      0x7ff06ed6d0bd vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 61
13      0x7ff06ed72e36 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) + 86
12      0x7ff06efdc492 vtkFileSeriesReader::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 482
11      0x7ff06efdc21f vtkFileSeriesReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 111
10      0x7ff06ca58e85 vtkAMRBaseReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 485
9       0x7ff06ca58bb6 vtkAMRBaseReader::AssignAndLoadBlocks(vtkOverlappingAMR*) + 470
8       0x7ff06ca584a3 vtkAMRBaseReader::LoadCellData(int, vtkUniformGrid*) + 99
7       0x7ff06ca580e2 vtkAMRBaseReader::GetAMRData(int, vtkUniformGrid*, char const*) + 322
6       0x7ff06ca52ad6 /usr/bin/../lib/x86_64-linux-gnu/libvtkIOAMR-pv5.7.so.1(+0x29ad6) [0x7ff06ca52ad6]
5       0x7ff0749dad2c /usr/bin/../lib/x86_64-linux-gnu/libc.so.6(+0x99d2c) [0x7ff0749dad2c]
4       0x7ff0749d947c /usr/bin/../lib/x86_64-linux-gnu/libc.so.6(+0x9847c) [0x7ff0749d947c]
3       0x7ff0749d13ee /usr/bin/../lib/x86_64-linux-gnu/libc.so.6(+0x903ee) [0x7ff0749d13ee]
2       0x7ff074966859 abort + 299
1       0x7ff07498718b gsignal + 203
0       0x7ff074987210 /usr/bin/../lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7ff074987210]
(  78.492s) [paraview        ]                       :0     FATL| Signal: SIGABRT
Aborted (core dumped)

I am using the AMReX BoxLib Grid reader:


and I observe the crash when I simply click this button:

I had no problems when I used a 3-D dataset and this happens only and only when I switch to a 2-D dataset.

Thanks a lot in advance

It looks like there’s some memory juggling that goes poorly. Can you share your data?

@danlipsa you did work on the amrex/boxlib reader, right?

Indeed, I integrated boxlib into VTK/ParaView but I think that was replaced by the amrex reader that @olearypatrick created.

There were memory leaks fixed in 2020 that affected the 2-D data sets. I would move forward from 5.7 at least to 5.8.1 according to the file history, but 5.9.1 would be best.

see https://github.com/Kitware/VTK/commit/86c2988f990ebc86733b9484bc8625dbe05223fd#diff-cf973535703b2663e5bc0f82a5b504995959d8a246bd6e53a327f40de649e828

Sorry for the late response here and thanks for looking into this
@ben.boeckel @danlipsa @olearypatrick
Would a sample dataset help here?