# Crash when loading large ADIOS2 .bp files on Windows

**URL:** https://discourse.paraview.org/t/crash-when-loading-large-adios2-bp-files-on-windows/16490
**Category:** ParaView Support
**Created:** [April 16, 2025, 4:30pm UTC](https://discourse.paraview.org/t/crash-when-loading-large-adios2-bp-files-on-windows/16490 "2025-04-16T16:30:31Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![luisjperezp](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/l/f19dbf/32.png) [@luisjperezp](https://discourse.paraview.org/u/luisjperezp)
#### Post date: [April 16, 2025, 4:30pm UTC](https://discourse.paraview.org/t/crash-when-loading-large-adios2-bp-files-on-windows/16490/1 "2025-04-16T16:30:31Z")

</div>

I’m encountering a crash when visualizing large, time-dependent datasets in **ParaView 5.13.3 on Windows 11** , using files written with dolfinx VTXWriter and ADIOS2 format. The issue only seems to appear for large files.

You can download the test file here:  
[results.bp file (Google Drive)](https://drive.google.com/file/d/1HKYDn_kX0gYql5Y1eRdtBdrJIpnLWvOn/view)  
_(Apologies for the large size — the issue does not seem to occur with smaller files.)_

After loading the data with the **`ADIOS2VTXReader`** , I can navigate through the first **932** timesteps without any issue. However, when attempting to load **step 933** , ParaView crashes with the following error:

```auto
ERROR: In vtkADIOS2VTXReader.cxx, line 99
vtkADIOS2VTXReader (0000026C85C10C50): Error loading ADIOS2 schema: [1;34m [ADIOS2 EXCEPTION]e[0m <Toolkit> <transport::file::FilePOSIX> <Read> : couldn't move to start position 2147644880 in file C:\Users\LuisJavier\Desktop\results.bp\data.0 : errno = 22: Invalid argumente[0m
: iostream stream error

ERROR: In vtkExecutive.cxx, line 730
vtkPVCompositeDataPipeline (0000026C85C5EF40): Algorithm vtkADIOS2VTXReader (0000026C85C10C50) returned failure for request: vtkInformation (0000026C98024B30)
  Debug: Off
  Modified Time: 1431234
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0

```

Using `bpls`, the contents of the `.bp` file appear to be consistent across all 951 steps:

```auto
bpls results.bp -la
  uint32_t NumberOfEntities 951*{1} = 48000 / 48000
  uint32_t NumberOfNodes 951*{1} = 9261 / 9261
  int64_t connectivity 951*[1]*{48000, 5} = 0 / 9260
  double f 951*[1]*{9261, 1} = -3 / 3
  double geometry 951*[1]*{9261, 3} = -3.07403e-18 / 1
  double step 951*scalar = 0 / 1
  uint32_t types 951*scalar = 71 / 71
  string vtk.xml attr = 
<VTKFile type="UnstructuredGrid" version="0.1">
  <UnstructuredGrid>
    <Piece NumberOfPoints="NumberOfNodes" NumberOfCells="NumberOfCells">
      <Points>
        <DataArray Name="geometry" />
      </Points>
      <Cells>
        <DataArray Name="connectivity" />
        <DataArray Name="types" />
      </Cells>
      <PointData>
        <DataArray Name="TIME">step</DataArray>
        <DataArray Name="vtkOriginalPointIds" />
        <DataArray Name="vtkGhostType" />
        <DataArray Name="f" />
      </PointData>
    </Piece>
  </UnstructuredGrid>
</VTKFile>

  uint8_t vtkGhostType 951*[1]*{9261} = 0 / 0
  int64_t vtkOriginalPointIds 951*[1]*{9261} = 0 / 9260

```

* * *

Encouraged by [this post in the FEniCS Discourse group](https://fenicsproject.discourse.group/t/paraview-does-not-work-with-vtxwriter-on-3rd-order-elements/17143), I tried using **ParaView installed within WSL2 (Ubuntu 22.04)** with the WSL GUI. In that setup, the file loads and all timesteps (including 933–951) work flawlessly.

I wonder if I am missing something or if this a known limitation of the ADIOS2 VTX reader on Windows.

Thanks in advance for your help!

* * *

In case it’s helpful, the file above was produced using the following script with `dolfinx 0.9.0`:

```python
import numpy as np 
from mpi4py import MPI
from dolfinx import fem, mesh, io

comm = MPI.COMM_WORLD

t, T = 0, 1
num_steps = 950
dt = T / num_steps

class data:
    def __init__ (self, t):
        self.t = t

    def __call__ (self, x):
        return np.cos(2 * np.pi * self.t) * (x[0]**2 + x[1]**2 + x[2]**2)

n = 20
domain = mesh.create_unit_cube(comm, n, n, n)

_data = data(0.0)
V = fem.functionspace(domain, ("Lagrange", 1))
uh = fem.Function(V)
uh.interpolate(_data)

file = io.VTXWriter(comm, "results.bp", [uh])
file.write(0.0)

for i in range(num_steps):
    t += dt
    _data.t = t
    uh.interpolate(_data)    
    file.write(t)

file.close()

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [April 17, 2025, 7:27am UTC](https://discourse.paraview.org/t/crash-when-loading-large-adios2-bp-files-on-windows/16490/2 "2025-04-17T07:27:30Z")

</div>

I confirm that it works on Linux. More investigation needed for Windows.
