Bug for writing a lot of large string variables

Created by: JasonRuonanWang

Can be reproduced using the following testing code

#include <adios2.h>

#include

std::string a = "test_string aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

int main(int argc, char **argv)

{

MPI_Init(nullptr, nullptr);

adios2::ADIOS adios(MPI_COMM_WORLD);

adios2::IO io = adios.DeclareIO("myIO");

adios2::Engine engine = io.Open("hello", adios2::Mode::Write);

for(size_t i=0; i<100; i++){

    std::string string_variable_name = "string" + std::to_string(i);

    auto scalar_string = io.DefineVariable<std::string>(string_variable_name);

    engine.Put(scalar_string, a);

    std::cout << i << std::endl;

}

engine.Close();

MPI_Finalize();

return 0;

}