surefire forked processes not always killed after timeout
---------------------------------------------------------
Key: SUREFIRE-773
URL: https://jira.codehaus.org/browse/SUREFIRE-773
Project: Maven Surefire
Issue Type: Bug
Components: process forking
Affects Versions: 2.8
Environment: 64 bit RHEL 5.5 , 64-bit Java 1.6.0_23
Reporter: David Biesack
Our forked JUnit/surefire processes are not always stopping correctly when
timing out within a Maven build
(running inside our Jenkins CI server, ver 1.425).
The maven build finishes and Jenkins shows a failed/unstable build.
These running processes cause problems later, because the tests may be holding
a resource like a port, and subsequent rebuilds fail because the
tests fail.
For example, even though no Maven builds are currently running, ps shows about
a dozen Java processes running,
with commands such as:
{noformat}
/usr/local/java-1.6_23/jre/bin/java -Xms1g -Xmx5g
-Djava.library.path=/u/jenkinsci/.hudson/jobs/rtolap.jtt.tests/workspace/target/lib
\
-jar
/u/jenkinsci/.hudson/jobs/rtolap.jtt.tests/workspace/target/surefire/surefirebooter1374560535780866887.jar
\
/u/jenkinsci/.hudson/jobs/rtolap.jtt.tests/workspace/target/surefire/surefire65313...
/usr/local/java-1.6_23/jre/bin/java -Xmx2g -Xms1g
-Djava.library.path=/u/jenkinsci/.hudson/jobs/rtolap/workspace/target/lib \
-jar
/u/jenkinsci/.hudson/jobs/rtolap/workspace/target/surefire/surefirebooter6814971258434039335.jar
\
/u/jenkinsci/.hudson/jobs/rtolap/workspace/target/surefire/surefire5806103969370259371tmp
/u/jenkinsci/...
...
{noformat}
We have our Maven surefire preferences set to fork the tests (via a parent pom)
{code:xml|title=pom.xml excerpt}
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8</version>
<configuration>
<forkMode>once</forkMode>
<forkedProcessTimeoutInSeconds>720</forkedProcessTimeoutInSeconds>
</configuration>
</plugin>
{code}
I suspect the timeout is the problem - i.e. perhaps the test is timing out and
the attempt to kill the forked process
fails, leaving it running.
Has anyone seen something similar and/or know how to fix this so that surefire
*really* kills the process?
When this happens, doing
kill <processid>
(logged in as the process owner) usually does not work, but
kill -9 <processid>
does.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira