Teko build failure in CI build starting 6/22/2017
Created by: bartlettroscoe
CC: @trilinos/framework, @trilinos/teko
Description:
There is a new Teko build failure in the standard CI build Linux-GCC-4.9.3-MPI_RELEASE_DEBUG_SHARED_PT_CI
that showed up this morning in the first CI build:
Looking at the build failure details at:
we see:
Error copying file "/scratch/rabartl/Trilinos.base/SEMSCIBuild/Trilinos/packages/teko/tests/data/lsc_B_2.mm" to "/scratch/rabartl/Trilinos.base/SEMSCIBuild/BUILD/packages/teko/tests/data/lsc_B_2.mm".
Somehow, no Teko test failed. There were no commits to the Teko package pulled in this CI iteration shown at:
that would explain these failures.
The failure looks to be due to a race condition in two targets that are copying these files as shown in the file:
Trilinos/packages/teko/tests/CMakeLists.txt
which shows:
SET(TEST_DRIVER_DATA_FILES
lsc_B_2.mm
...
)
...
TRIBITS_COPY_FILES_TO_BINARY_DIR(testdriver_copyfiles
SOURCE_FILES ${TEST_DRIVER_DATA_FILES}
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/data"
DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/data"
EXEDEPS testdriver
)
TRIBITS_COPY_FILES_TO_BINARY_DIR(testdriver_tpetra_copyfiles
SOURCE_FILES ${TEST_DRIVER_DATA_FILES}
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/data"
DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/data"
EXEDEPS testdriver_tpetra
)
The problem is that you have two separate targets that are copying the same files. That is asking for a disk copy conflict with two processes trying to copy the same files to the same location.
That explains why the copy of this file failed but the tests still pass. It is because one of the targets copied the file correctly and therefore the tests were allowed to run.