- marked as critical
`upcxx-run` drops error exit code
Issue #125
resolved
On Linux/x86_64/gcc-7.2.0 (dirac), there is currently a VIS assertion bug that is causing the test to fail (note the git hash 423e1ae).
However when run-tests invokes nobs run
to run the test, nobs reports back a zero exit code, as demonstrated here :
[bonachea@pcp-d-6 upcxx]$ git describe
upcxx-2017.9.1-112-g423e1ae
[bonachea@pcp-d-6 upcxx]$ OPTLEV=0 DBGSYM=1 ASSERT=1 GASNET_PSHM_NODES=1 GASNET_CONDUIT=smp nobs run test/vis.cpp ; echo $?
Test: vis.cpp
Ranks: 1
sending to 0: 0 1 2 3 4 5
Irregular test 2
Regular put test 1
Strided put testing
Irregular rget test 1
leaving for 0: 0 1 2 3 4 5
Irregular rget test 2
*** FATAL ERROR:
//////////////////////////////////////////////////
UPC++ assertion failure:
rank=0
file=/home/pcp1/bonachea/UPC/upcxx/.nobs/art/2ecccfad9baca6e82392b8f8e20ffaf1f01a612a/upcxx/vis.hpp:531
Failed condition: (*s).rank_
To have UPC++ freeze during these errors so you can attach a debugger, rerun the program with GASNET_FREEZE_ON_ERROR=1 in the environment.
//////////////////////////////////////////////////
NOTICE: Before reporting bugs, run with GASNET_BACKTRACE=1 in the environment to generate a backtrace.
*** Caught a fatal signal: SIGABRT(6) on node 0/1
0
Note the 0 at the end.
run-tests considers that a pass instead of detecting the failure, making this a blocker.
Comments (4)
-
reporter -
nobs
is not dropping the return code,upcxx-run
is.upcxx-run
invokes subcommand with:subprocess.call(cmd)
and is dropping returncode. One of the theos.exec*
variants would be better. -
- changed title to `upcxx-run` drops error exit code
-
- changed status to resolved
Fixed by commit faebf80739a891663de7f63406436483594a06e8
- Log in to comment
As of 36b7e61 run-tests now also greps the output for "ERROR" in stdout/stderr, so signal death and failures via
print_test_success()
should always be diagnosed correctly, even if the spawner and/or nobs misreport the exit code.