out_vars incorrectly uses grid function vdd structure to obtain "active" string for arrays and scalars`
Vaishak P. reported in http://lists.einsteintoolkit.org/pipermail/users/2020-October/007623.html
This is regarding the output of QuasiLocalMeasures variables in HDF5 format in a BBH simulation similar to the gallery one. I am unable to output QLM data in HDF5 format using the "IOHDF5:out_vars" option for this run.
I had previously opened a ticket at
https://bitbucket.org/einsteintoolkit/tickets/issues/2451
where the issue is related to using "IOHDF5:out2d_vars" (and out_1dvars), which is now fixed.
Please note that I am not facing this issue with "qlm-ks-outvars.par" test case (details in the above ticket). This issue is only with the gallery run.
Also, I only face this issue when I request any QuasiLocalMeasures variables to be output using "IOHDF5:out_vars" option. I
I am attaching the par files, the er and out files and the backtrace from one of the procs.
The error is :
'std::out_of_range' what(): vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
Comments (8)
-
reporter -
reporter Pull request https://bitbucket.org/eschnett/carpet/pull-requests/40/carpetiohdf5-only-extract-active-region fixes this by only obtaining
active
fromvdd
for grid functions. -
reporter - changed status to open
-
reporter Please review.
-
reporter - changed title to out_vars incorrectly uses grid function vdd structure to obtain "active" string for arrays and scalars`
-
reporter Approved by @Erik Schnetter in pull request.
-
reporter -
reporter - changed status to resolved
- Log in to comment
This turns out to be due to these lines
which are incorrect for arrays whose grid structure is not represented by
vdd
(which describes only grid functions). This is griggered in Vaishak’s parameter file due to asking forout_vars
output of a grid array, in a multi-rank job using Llama. Namely the triggering rank (rank 1 when I tested the parfile) does not own a grid function component on map 0 so theat(local_component)
fails (rather than just returning the incorrect string).