BP4 streaming and Local arrays lead to exception
Created by: pnorbert
When new steps are found in BP4 streams, something goes wrong with the processing.
C++ exception with description "ERROR: invalid blockID 1 from steps start 0 in variable i8, check argument to Variable<T>::SetBlockID, in call to Get
To reproduce:
-
Enable Staging.*.Local.BPS tests in testing/adios2/engine/staging-common/CMakeLists.txt, line 233, comment out:
list (FILTER BP4_STREAM_TESTS EXCLUDE REGEX ".*Local.BPS$")
-
Add some sleeptime (100ms) in testing/adios2/engine/staging-common/TestCommonWriteLocal.cpp
#include <thread>
...
std::this_thread::sleep_for(std::chrono::milliseconds(100));
engine.BeginStep();
- run ctest
$ ctest -R Staging.*.Local.BPS.BP4_stream
Test project /home/adios/work/ADIOS2/build.master
Start 610: Staging.1x1.Local.BPS.BP4_stream
1/5 Test #610: Staging.1x1.Local.BPS.BP4_stream ...***Failed 3.27 sec
Start 626: Staging.2x1.Local.BPS.BP4_stream
2/5 Test #626: Staging.2x1.Local.BPS.BP4_stream ...***Failed 3.36 sec
Start 627: Staging.1x2.Local.BPS.BP4_stream
3/5 Test #627: Staging.1x2.Local.BPS.BP4_stream ...***Failed 2.30 sec
Start 628: Staging.3x5.Local.BPS.BP4_stream
4/5 Test #628: Staging.3x5.Local.BPS.BP4_stream ...***Failed 1.69 sec
Start 629: Staging.5x3.Local.BPS.BP4_stream
5/5 Test #629: Staging.5x3.Local.BPS.BP4_stream ...***Failed 2.16 sec
0% tests passed, 5 tests failed out of 5
- run single test
rm -rf local.bp; mpirun -n 5 ./bin/TestCommonWriteLocal bp4 local : -n 3 ./bin/TestCommonReadLocal bp4 local OpenTimeoutSecs:2.0008