I have a Linux shell-script that calls
poly-image < script
and which is being dying unexpectedly in a cronjob. The end of the log looks
like:
Poly/ML 5.3 Release
Killed
/home/michaeln/stdhol/bin/Holmake: Failed script build for
arm_improved_gcScript - exited with code 89
Build failed in directory /home/michaeln/stdhol/examples/machine-code/lisp
(exited with code 1)
Holmake is reporting the error returned by a call to OS.Process.system, using
fun posix_diagnostic stat = let
open Posix.Process
in
case fromStatus stat of
W_EXITSTATUS w8 => "exited with code "^Word8.toString w8
| W_EXITED => "exited normally"
| W_SIGNALED sg => "with signal " ^
SysWord.toString (Posix.Signal.toWord sg)
| W_STOPPED sg => "stopped with signal " ^
SysWord.toString (Posix.Signal.toWord sg)
end
The presence of "Killed" makes me think that the script is being killed by an
external signal, perhaps a SIGSEGV caused by hitting a limit on stack-size. But is this
plausible? Would Poly/ML catch that signal and then exit with 89?
Annoyingly, the same script doesn't fail when not in a cronjob, so it's hard to
test.
Michael
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml