CarpetIOHDF5 may segfault when one_file_per_group is selected

Issue #410 closed
Bruno Mundim created an issue

I was facing one of those cryptic MPI error messages on Ranger, where your job quits without any useful error message. It turns out that this parameter file had

CarpetIOHDF5::one_file_per_group = "yes" CarpetIOHDF5::out2D_vars = " ADMBase::gxx"

and CarpetIOHDF5 would try to loop over the group variables when just one of them was selected. As a result it has accessed memory address that it was not supposed to, consequently killing the job.

I have attached the stack back trace.

Keyword: Carpet
Keyword: git
Keyword: version

Comments (5)

  1. Erik Schnetter
    • removed comment

    The corresponding code in CarpetIOHDF5.cc, which outputs data that are not slices, uses the same algorithm. However, it contains an additional check ensuring that a default request is used if the corresponding request does not exist. Look for calls to IOUtil_DefaultIORequest to find this code. I believe that an equivalent logic would correct this problem in OutputSlice.cc.

  2. Log in to comment