If one assumes that bamboo will kill a timed out build via signals, it would be nice to be able to specify the signal(s) that is uses. This would allow one to send the -QUIT signal to java processes, which will cause them to print out backtraces for threads, before the process dies.
We've rolled our own solution for this where our java test runner has a separate java thread that watches for timeout. When we hit the build timeout, we add an error to our junit report, with the stack backtrace of the main thread. So, we will see a unit test report for all the tests that got run up to the point where it hung, and which individual test caused it to hang.
Because of the variety of things that could be built by bamboo, doing all these things in a way independent of what your doing is probably not realistic. But one thing that bamboo could do that we can't is to mark the build somehow as failed due to timeout instead of the normal failure.
Hi guys,
You'd be glad to hear that we have released Bamboo 2.2 today. In this release, we have added the capability to automatically detect builds which have taken a long time to complete. You can set up a notification on this event, and be notified by email or IM about it to take action. For more details, please check out our release notes here: http://confluence.atlassian.com/display/BAMBOO/Bamboo+2.2+Release+Notes.
I will be closing off this issue for now. For those of you wishing for Bamboo to also automatically stop and kill the build when it detects a hang, please watch
BAM-931or vote on it.Cheers,
Edwin
Atlassian Bamboo