tkowalcz commented on PR #211: URL: https://github.com/apache/ant/pull/211#issuecomment-2267496463
> Hello Tomasz, can you tell us the details of the issue you are running into? That might help understand what change needs to be done. Absolutely. I just wanted to get the conversation started. Thanks for taking time to reply. When using `junitlauncher` with timeout: ```xml <junitlauncher taskname="JUnit5" haltonfailure="${junit.haltonfailure}" failureproperty="junit.failures" printsummary="false"> ... <fork timeout="${junit.timeout}"> ... </fork> </junitlauncher> ``` it setups `ExecuteWatchdog` that will terminate the forked process after timeout passes. If the forked JVM is very busy (e.g. doing GC back to back) it will not terminate (it has the signal handler installed but fails to act upon receiving the signal). The only option is to issue a SIGKILL. In our case we had the JVM stuck for yet to be discovered reason. Tools like `jstack` were unable to attach to it unless `-F`orce option was used. The CI job that was running test suite got stuck waiting for `ant` task to time out but it never did. Eventually job level timeout of Jenkins kicked in and terminated the parent process. I was able to verify following - sending `SIGINT` to the forked JVM did not shut it down. Sending `SIGKILL` did and the `junitlauncher` properly continued - set `failureproperty` and continued if `haltonfailure` was set to false. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org