Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
Jenkins 1.553 or later on CentOS 6.3 with Oracle Java 7 JDK
Description
Starting at version 1.553, Jenkins no longer seems to kill running processes after a build failure.
We have several jobs that start a Tomcat instance and run various end-to-end-tests; if the build fails Jenkins doesn't execute the shutdown scripts and we rely on the process killer to clean up the Tomcat instance.
This can be duplicated more easily by creating a free-form job and adding two shell scripts, the first that starts a simple command such as "nohup sleep 10000 &" and the second "/bin/false". After the job exits the sleep process is still running. Prior to version 1.553, it would be killed.
There are no log messages to indicate a problem.
I can reproduce this on CentOS 6, Red Hat EL 5 and Red Hat EL 4, both with a job running on the local master, and on a slave node. Also tested with both 32-bit and 64-bit Oracle Java 7 JDKs.
We're using the built-in Winstone container.
Attachments
Issue Links
- depends on
-
JENKINS-26048 Jenkins no longer cleaning up child processes when build stopped - as of 1.587
-
- Reopened
-
- is related to
-
JENKINS-28968 Aborting builds does not kill surefire sub-process
-
- Reopened
-
Code changed in jenkins
User: Jesse Glick
Path:
pom.xml
src/test/java/org/jenkinsci/plugins/durabletask/BourneShellScriptTest.java
http://jenkins-ci.org/commit/durable-task-plugin/fc48f447763cb69d6ebf7c67e54e476d9e903bbd
Log:
Added test for stop.
JENKINS-22641means that this does not work in 1.554.3, so need to bump up the dependency to 1.565.3.