ADIOS2 issueshttps://code.ornl.gov/pnb/ADIOS2/-/issues2019-11-01T15:06:39Zhttps://code.ornl.gov/pnb/ADIOS2/-/issues/1850Serial MPI-linked behavior fails when passing a config file in ADIOS constructor2019-11-01T15:06:39ZPodhorszki, NorbertSerial MPI-linked behavior fails when passing a config file in ADIOS constructor*Created by: williamfgc*
**Describe the bug**
Serial MPI-linked behavior fails when passing a config file in ADIOS constructor triggering MPI issue since MPI_Init is not called:
```
Profile Library *** The MPI_Comm_rank() function wa...*Created by: williamfgc*
**Describe the bug**
Serial MPI-linked behavior fails when passing a config file in ADIOS constructor triggering MPI issue since MPI_Init is not called:
```
Profile Library *** The MPI_Comm_rank() function was called before MPI_INIT was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[login4:124071] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
```
**To Reproduce**
`adios2::ADIOS adios("config.xml", true);` will fail without MPI_Init
**Expected behavior**
Run smoothly
**Desktop (please complete the following information):**
- OS/Platform: Ubuntu 18.04
**Additional context**
Leftover MPI functionality should migrate to internal abstraction helper::Commhttps://code.ornl.gov/pnb/ADIOS2/-/issues/1166add tests after doing a make install on CI2019-06-26T18:34:52ZPodhorszki, Norbertadd tests after doing a make install on CI*Created by: williamfgc*
Not sure if possible, but maybe it is time for external tests. Current master is broken after `make install` as we are not testing outside local ctest.*Created by: williamfgc*
Not sure if possible, but maybe it is time for external tests. Current master is broken after `make install` as we are not testing outside local ctest.2.4.0 Production Releasehttps://code.ornl.gov/pnb/ADIOS2/-/issues/1477install: internal headers not placed under adios2/2019-06-18T19:36:58ZPodhorszki, Norbertinstall: internal headers not placed under adios2/*Created by: bradking*
As of commit `ec59c81e3d` on `master`, I see a layout in the install tree like this:
```
include/adios2.h
include/adios2_c.h
include/adios2/ADIOS*.h
include/c/*.h
include/cxx11/*.h
```
That means paths...*Created by: bradking*
As of commit `ec59c81e3d` on `master`, I see a layout in the install tree like this:
```
include/adios2.h
include/adios2_c.h
include/adios2/ADIOS*.h
include/c/*.h
include/cxx11/*.h
```
That means paths to files like `cxx11/Variable.h` do not mention "adios2" in them anywhere.
Instead the layout should be something like
```
include/adios2.h
include/adios2_c.h
include/adios2/ADIOS*.h
include/adios2/c/*.h
include/adios2/cxx11/*.h
```
Cc: @chuckatkins 2.4.0 Production Releasehttps://code.ornl.gov/pnb/ADIOS2/-/issues/1255ClipContiguousMemory called for char* not template types T* 2019-05-28T14:26:30ZPodhorszki, NorbertClipContiguousMemory called for char* not template types T* *Created by: germasch*
This is a follow-up from #1254, where looking at that more, I think it points to something fishy, but I can't tell whether it's an issue that can be hit in real life.
`helper::ClipContiguousMemory` gets instant...*Created by: germasch*
This is a follow-up from #1254, where looking at that more, I think it points to something fishy, but I can't tell whether it's an issue that can be hit in real life.
`helper::ClipContiguousMemory` gets instantiated for `std::string` when it's used from `BP3Deserializer` (and BP4), I believe in two places: In `ClipMemory` and in `PostDataRead`.
`helper::ClipContiguousMemory` does an `reinterpret_cast<char*>` on its `T* dest` argument, and then calls `CopyContiguousMemory` (`adiosMemory.inl`)
```cxx
char *rawVariableData = reinterpret_cast<char *>(dest);
CopyContiguousMemory(contiguousMemory + contiguousStart, stride,
rawVariableData + variableStart,
endianReverse);
```
The cast of a `std::string *` to a `char *` and then operating on the raw memory is highly likely broken, as obviously `std::string` is not a POD type. I only know that this gets instantiated, though, not that it ever actually gets called.
Second, and more generally (not specific to std::string), the `endianReverse` arg in the call above won't work for any type, since the info on the actual type has been eliminated by casting to `char *`, so `CopyContiguousMemory` will think it's `char` data and (I suppose) not reorder anything.
2.4.0 Production Releasehttps://code.ornl.gov/pnb/ADIOS2/-/issues/1243Engine::Get with std::vector fails for increasing size in local variable2019-03-05T17:13:10ZPodhorszki, NorbertEngine::Get with std::vector fails for increasing size in local variable*Created by: williamfgc*
Must update dynamically the reallocation when variable SetBlockSelection is used*Created by: williamfgc*
Must update dynamically the reallocation when variable SetBlockSelection is used2.4.0 Production Release