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

Wrapper process leaves zombie when no init process present

      The merge of PR-98 moved the wrapper process to the background to allow the launching process to quickly exit. However, that very act will orphan the wrapper process. This is only a problem in environments where there is no init process (e.g. docker containers that are run with no --init flag).

      Unit tests did not discover this bug due to a race condition of when the last ps was called and when the wrapper process exited. If another ps is called after the test detects that the script as finished running, the zombie state of the wrapper process is revealed.

      I'm not sure how much of an issue this really is as there are numerous solutions on enabling zombie-reaping for containers, but as there is an explicit check for zombies in the unit tests, it seemed worth mentioning.

          [JENKINS-58656] Wrapper process leaves zombie when no init process present

          Carroll Chiou created issue -
          Carroll Chiou made changes -
          Description Original: The merge of [PR-98|https://github.com/jenkinsci/durable-task-plugin/pull/98] moved the wrapper process to the background but, as a result, zombies it. This is only a problem in environments where there is no {{init}} process (e.g. docker containers that are run with no {{--init}} flag).

          Unit tests did not discover this bug due to a race condition of when the last {{ps}} was called and when the wrapper process exited. If another {{ps}} is called after the test detects that the script as finished running, the zombie state of the wrapper process is revealed.

          I'm not sure how much of an issue this really is as there are numerous solutions on enabling zombie-reaping for containers, but as there is an explicit check for zombies in the unit tests, it seemed worth mentioning.
          New: The merge of [PR-98|https://github.com/jenkinsci/durable-task-plugin/pull/98] moved the wrapper process to the background to allow the launching process to quickly exit. However, that very act will orphan the wrapper process. This is only a problem in environments where there is no {{init}} process (e.g. docker containers that are run with no {{--init}} flag).

          Unit tests did not discover this bug due to a race condition of when the last {{ps}} was called and when the wrapper process exited. If another {{ps}} is called after the test detects that the script as finished running, the zombie state of the wrapper process is revealed.

          I'm not sure how much of an issue this really is as there are numerous solutions on enabling zombie-reaping for containers, but as there is an explicit check for zombies in the unit tests, it seemed worth mentioning.
          Devin Nusbaum made changes -
          Labels New: pipeline
          Jesse Glick made changes -
          Link New: This issue is caused by JENKINS-58290 [ JENKINS-58290 ]
          Jesse Glick made changes -
          Component/s New: kubernetes-plugin [ 20639 ]
          Jesse Glick made changes -
          Labels Original: pipeline New: pipeline regression
          Jesse Glick made changes -
          Priority Original: Minor [ 4 ] New: Critical [ 2 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "CloudBees-internal issue (Web Link)" [ 23813 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "PodProcessNamespaceSharing GA in 1.17 (Web Link)" [ 24113 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "workflow-durable-task-step-plugin #109 (Web Link)" [ 27333 ]

            Unassigned Unassigned
            carroll Carroll Chiou
            Votes:
            2 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated: