Large number of data races in unit tests
Created by: NAThompson
In preparation for parallel reads, I added the following to the CMakeLists.txt
and ran the unit tests:
if(CMAKE_BUILD_TYPE MATCHES "Debug")
if(CMAKE_CXX_COMPILER_ID MATCHES "^(AppleClang|Clang|GNU)")
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O2 -Wfatal-errors -fsanitize=thread -fno-omit-frame-pointer")
endif()
endif()
A very large number of race conditions were detected. A few were in pthread_create
, which arguably is bad, but not the bailiwick of ADIOS. But a large number of them are originating in ADIOS2. I have attached just one of these here, but many tests are afflicted by these problems.