On 26/04/12 2:27 PM, Chris Cunnington wrote:
... Left on its own, Jenkins will shut things down after ~8 seconds. To do ~3000 tests in ~70 xml files takes ~90 seconds.
I'm pretty sure that, left on its own, Jenkins will let the job run until it exits by itself, and otherwise lets it run "forever".
The problem that the build.sh script is trying to address is to terminate the squeak VM when it does NOT exit by itself. The script terminates the squeak VM process, when it seems like it cannot handle signals, or when a Debug.log file has appeared.
Before this build script change, the failing Hudson/Jenkins jobs would never stop on their own. There was a plugin available for Hudson, which would abort the job, if it exceeded a configurable time limit - which was a poor solution.
So I have two questions:
1.) Why would a process not be able to receive a signal? 2.) And if it couldn't, then what would that tell me.
1) There's probably lots of ways a process could stop handling signals. 2) If it couldn't, then it's a good guess that the build/test is stuck, and should therefore be terminated.
Depending on which squeak VM you are using, you may have to change the shell variable, $OUTPUT_DEBUG, to SqueakDebug.log instead of PharoDebug.log.