Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-9185

ProcessTreeKiller / BUILD_ID from Maven task

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Incomplete
    • core
    • None
    • Linux Fedora/CentOS/RHEL

    Description

      Configuration is :

      Master Jenkins on Linux (launched with -Dhudson.util.ProcessTreeKiller.disable=true)
      Slaves Jenkins agents on Linux, started by java -jar slave.jar

      On Slave agents we have Maven 2/3 jobs where bash script is embedded to start/stop/patch Tomcat applications.
      To avoid detached (forked) tomcat to be destroyed, we used the BUILD_ID trick on the bash script.

      After upgrading from 1.397 to 1.403, we notice that jobs on slaves where killed.
      Same jobs started on Master Jenkins didn't have this auto-kill problem.
      Free style jobs on Master or Slave didn't see the problem, so the BUILD_ID still worked.

      To restore the correct behaviour, we add -Dhudson.util.ProcessTreeKiller.disable=true on start command line ie :

      java -jar slave.jar -Dhudson.util.ProcessTreeKiller.disable=true
      

      I suspect a problem in env vars propagation between Maven 2 or 3 and Jenkins somewhere between 1.397 and 1.403 since now the BUILD_ID env var set by the bash script called by Maven isn't seen by Hudson.

      Attachments

        Activity

          hgomez Henri Gomez added a comment -

          I confirm we should also define -Dhudson.util.ProcessTree.disable=true on master and slaves.
          It's very problematic for us since for many jobs we need Jenkins to kill lone processes.
          A serious show stopper for us.

          hgomez Henri Gomez added a comment - I confirm we should also define -Dhudson.util.ProcessTree.disable=true on master and slaves. It's very problematic for us since for many jobs we need Jenkins to kill lone processes. A serious show stopper for us.
          hbjastad hbjastad added a comment -

          ping
          Is there any chance of finding a solution to this? It's a pity being stuck on 1.377

          hbjastad hbjastad added a comment - ping Is there any chance of finding a solution to this? It's a pity being stuck on 1.377
          danielbeck Daniel Beck added a comment -

          Does this issue still occur on recent Jenkins versions? Is there a simply script that when run in a build shows the problem so anyone investigating this doesn't have to deploy Tomcat from Maven?

          danielbeck Daniel Beck added a comment - Does this issue still occur on recent Jenkins versions? Is there a simply script that when run in a build shows the problem so anyone investigating this doesn't have to deploy Tomcat from Maven?
          danielbeck Daniel Beck added a comment -

          Resolving as 'Incomplete' after no response to comment asking for updated information in over two weeks.

          Due to the age of this issue, please file a new issue if this still occurs on recent Jenkins versions.

          danielbeck Daniel Beck added a comment - Resolving as 'Incomplete' after no response to comment asking for updated information in over two weeks. Due to the age of this issue, please file a new issue if this still occurs on recent Jenkins versions.

          For further reference: I had exactly the same issue when running jobs on a Windows XP x64 slave. I had to unset HUDSON_COOKIE, HUDSON_SERVER_COOKIE, JENKINS_COOKIE or JENKINS_SERVER_COOKIE (I unset all of them, didn't check which one actually does the trick – JENKINS_COOKIE did not appear to be set though). We are running version 1.559, and the slave starts through JNLP (because we need it to access the GUI).

          I found the solution based on this StackOverflow question referencing a comment on the Spawning process from build wiki page.

          Notice that Jenkins continues to say that the process leaked file descriptors but at least it does not kill my background process any more (HSQLDB).

          didierl Didier Loiseau added a comment - For further reference: I had exactly the same issue when running jobs on a Windows XP x64 slave. I had to unset HUDSON_COOKIE, HUDSON_SERVER_COOKIE, JENKINS_COOKIE or JENKINS_SERVER_COOKIE (I unset all of them, didn't check which one actually does the trick – JENKINS_COOKIE did not appear to be set though). We are running version 1.559, and the slave starts through JNLP (because we need it to access the GUI). I found the solution based on this StackOverflow question referencing a comment on the Spawning process from build wiki page . Notice that Jenkins continues to say that the process leaked file descriptors but at least it does not kill my background process any more (HSQLDB).

          People

            Unassigned Unassigned
            hgomez Henri Gomez
            Votes:
            5 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: