You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BP file: it returns 0 in the arrays (or does nothing)
HDF5 file: it aborts
ADIOS 1.x gave an error describing what's wrong. With 11 steps in the heat transfer output, the adios 1.x bpls behaves like this when trying to read 2 steps from the last available step:
$ bpls -l heat.bp -d -s "10,0,0" -c "2,10,6" --format "%5.2f"
double T 11*{160, 150} = -6.22402 / 7.02874 / null / null
slice (10:11, 0:9, 0:5)
ERROR: Variable T does not have timesteps 10 to 11 (last timestep is 10)
Error when scheduling variable T for reading. errno=-14 : Variable T does not have timesteps 10 to 11 (last timestep is 10)
utils/bpls in adios2 behaves like this for a BP file:
ADIOS2/build$ ./bin/bpls -l heat.h5 -d -s "10,0,0" -c "2,10,6" --format "%5.2f"
double T 11*{160, 150}
slice (10:11, 0:9, 0:5)
terminate called after throwing an instance of 'std::ios_base::failure[abi:cxx11]'
what(): ERROR: given time step is more than actual known steps.: iostream error
[adiosVM:32695] *** Process received signal ***
[adiosVM:32695] Signal: Aborted (6)
[adiosVM:32695] Signal code: (-6)
[adiosVM:32695] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f2d74db3390]
[adiosVM:32695] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f2d74a0d428]
[adiosVM:32695] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f2d74a0f02a]
[adiosVM:32695] [ 3] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x16d)[0x7f2d7526484d]
[adiosVM:32695] [ 4] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8d6b6)[0x7f2d752626b6]
[adiosVM:32695] [ 5] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8d701)[0x7f2d75262701]
[adiosVM:32695] [ 6] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8d919)[0x7f2d75262919]
[adiosVM:32695] [ 7] /home/adios/work/ADIOS2/build/lib/libadios2.so.2(_ZN6adios27interop10HDF5Common12SetAdiosStepEi+0x167)[0x7f2d761e0a9b]
[adiosVM:32695] [ 8] /home/adios/work/ADIOS2/build/lib/libadios2.so.2(_ZN6adios211HDF5ReaderP10UseHDFReadIdEEvRNS_8VariableIT_EEPS3_i+0x580)[0x7f2d761da92a]
[adiosVM:32695] [ 9] /home/adios/work/ADIOS2/build/lib/libadios2.so.2(_ZN6adios211HDF5ReaderP13GetSyncCommonIdEEvRNS_8VariableIT_EEPS3_+0x40)[0x7f2d761dde00]
[adiosVM:32695] [10] /home/adios/work/ADIOS2/build/lib/libadios2.so.2(_ZN6adios211HDF5ReaderP9DoGetSyncERNS_8VariableIdEEPd+0x2b)[0x7f2d761d1b4b]
[adiosVM:32695] [11] /home/adios/work/ADIOS2/build/lib/libadios2.so.2(_ZN6adios26Engine7GetSyncIdEEvRNS_8VariableIT_EEPS3_+0x3fc)[0x7f2d75fc149c]
[adiosVM:32695] [12] ./bin/bpls[0x4810c2]
[adiosVM:32695] [13] ./bin/bpls[0x471eb2]
[adiosVM:32695] [14] ./bin/bpls[0x4698ac]
[adiosVM:32695] [15] ./bin/bpls[0x46a39e]
[adiosVM:32695] [16] ./bin/bpls[0x468627]
[adiosVM:32695] [17] ./bin/bpls[0x46cbdc]
[adiosVM:32695] [18] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f2d749f8830]
[adiosVM:32695] [19] ./bin/bpls[0x467a09]
[adiosVM:32695] *** End of error message ***
For the latter one, the bug is probably in HDF5Common::SetAdiosStep(int step), the condition if (step >= m_NumAdiosSteps)
passing for step one bigger than the last valid step index (NumAdiosSteps-1)
The text was updated successfully, but these errors were encountered:
Hi Norbert,
Yes, the exception was not handled.
I changed to the same behavior of bpls, and with print out a warning msg.
Did a pull request. but it is stuck with the failed ssl test.
if you need a quick work around to continue testing, this is the change I made:
<https://github.com/ornladios/ADIOS2/pull/614/files#diff-7db80940854939412fa3b1f94c1c6366> @@ -160,7 +160,15 @@ void HDF5ReaderP::UseHDFRead(Variable<T> &variable, T *data, hid_t h5Type)
{
if (m_H5File.m_IsGeneratedByAdios)
{
- m_H5File.SetAdiosStep(variableStart + ts);
+ try
+ {
+ m_H5File.SetAdiosStep(variableStart + ts);
+ }
+ catch (std::exception &e)
+ {
+ printf("[Not fatal] %s\n", e.what());
+ break;
+ }
- Junmin
BP file: it returns 0 in the arrays (or does nothing)
HDF5 file: it aborts
ADIOS 1.x gave an error describing what's wrong. With 11 steps in the heat transfer output, the adios 1.x bpls behaves like this when trying to read 2 steps from the last available step:
utils/bpls in adios2 behaves like this for a BP file:
and on a HDF5 file, it aborts:
For the latter one, the bug is probably in HDF5Common::SetAdiosStep(int step), the condition
if (step >= m_NumAdiosSteps)
passing for step one bigger than the last valid step index (NumAdiosSteps-1)
The text was updated successfully, but these errors were encountered: