Non-timeout hang in unit tests

Created by: NAThompson

Describe the bug

I ran the unit tests overnight, and found that test 459 hangs:

449/606 Test #449: Staging.FtoC.1x1.CommPeer.BP.SST .......................................................***Timeout  30.04 sec
        Start 450: Staging.CtoF.1x1.CommPeer.BP.SST
450/606 Test #450: Staging.CtoF.1x1.CommPeer.BP.SST .......................................................***Timeout  30.04 sec
        Start 451: Staging.FtoF.1x1.CommPeer.BP.SST
451/606 Test #451: Staging.FtoF.1x1.CommPeer.BP.SST .......................................................***Failed    0.09 sec
        Start 452: Staging.ZFPCompression.1x1.CommPeer.BP.SST
452/606 Test #452: Staging.ZFPCompression.1x1.CommPeer.BP.SST .............................................   Passed    0.28 sec
        Start 453: Staging.ZFPCompression.3x5.CommPeer.BP.SST
453/606 Test #453: Staging.ZFPCompression.3x5.CommPeer.BP.SST .............................................   Passed    0.38 sec
        Start 454: Staging.TimeoutReader.1x1.CommPeer.BP.SST
454/606 Test #454: Staging.TimeoutReader.1x1.CommPeer.BP.SST ..............................................   Passed   20.38 sec
        Start 455: Staging.LatestReader.1x1.CommPeer.BP.SST
455/606 Test #455: Staging.LatestReader.1x1.CommPeer.BP.SST ...............................................   Passed   15.23 sec
        Start 456: Staging.LatestReaderHold.1x1.CommPeer.BP.SST
456/606 Test #456: Staging.LatestReaderHold.1x1.CommPeer.BP.SST ...........................................   Passed   17.75 sec
        Start 457: Staging.DiscardWriter.1x1.CommPeer.BP.SST
457/606 Test #457: Staging.DiscardWriter.1x1.CommPeer.BP.SST ..............................................   Passed   12.46 sec
        Start 458: Staging.PreciousTimestep.3x2.CommPeer.BP.SST
458/606 Test #458: Staging.PreciousTimestep.3x2.CommPeer.BP.SST ...........................................   Passed   60.41 sec
        Start 459: Staging.PreciousTimestepDiscard.3x2.CommPeer.BP.SST

(The printout doesn't clearly show what's happening: Test 459 starts, but never finishes.)

To Reproduce

Build sequence:

ADIOS2/build$ cmake -DCMAKE_CXX_FLAGS="-fsanitize=address -fsanitize=undefined" -DADIOS2_USE_MPI=OFF -DCMAKE_BUILD_TYPE=Debug ../
ADIOS2/build$ make -j `nproc`
ADIOS2/build$ ctest
  • OS: Ubuntu 18.04