SimFactory does not correctly detect a failed submit command

Issue #886 new
Ian Hinder created an issue

If qsub can't be found, simfactory doesn't notice that the command returned a nonzero exit code, and proceeds to return 0 itself. The submit command is in simrestart.py:

output = simlib.ExecuteCommand(submitCommand, output=True)

This should check that the exit code is zero, or fail noisily. What it actually does is

fd = os.popen(command) output = fd.read() fd.close()

return output

Apart from the weird reuse of the output input argument as a return value for something else, it is not checking the exit code in the case where the output was requested.

Keyword:

Comments (1)

  1. Erik Schnetter
    • removed comment

    Simfactory's way of calling external shell scripts is "interesting". I would catch this problem at a later stage, when the output of the qsub command is parsed. If the regular expression doesn't match, the job id is -1. Simfactory first outputs the job id, and then a less-than helpful message "if the job id output above is -1, job submission failed". Instead, it should check the job id, and fail loudly.

  2. Log in to comment