Meaning of retcodes = -9?

Does anyone know what retcodes=[-9] refers to? I am running optimize with a reduce_sum.

Okay from this issue I learned that:

…this is an example of program error codes greater than 128 reported as negative return codes under python.
also note than when CmdStan segfaults, it won’t return an error code, the system will.

evidently python expects return codes to be a signed 8-bit int, therefore 128 is -0 and 129 is -1, etc.

(Thanks @mitzimorris !)

Therefore the retcodes=[-9] is actually a return code of 137, which is (according to this) is

Exit code 137 means that your process was killed by (signal 9) SIGKILL . In the case you manually stopped it - there’s your answer.

If you didn’t manually stop the script and still got this error code, then the script was killed by your OS. In most of the cases, it is caused by excessive memory usage.

So…too much datas for the itty bitty docker container. :sadpanda:

yes, system segfaults are behind those retcodes like 137.

however, the comment is misleading:

currently the Stanc3 compiler is failing to catch certain index out-of-bounds errors, another usual suspect when it comes to segfaults.

if your model involved indexing loops, the problem may well be happening there. the Stanc3 compiler will be fixed in the next release (May 2021).

Ah, yes this could also be the culprit, thanks for clarifying!