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

Attempting to abort an input step hangs waiting for metadata

      Observed in a thread dump:

      "Running CpsFlowExecution[Owner[.../...:... #...]]" id=... state=WAITING cpu=70%
          - waiting on <0x...> (a com.google.common.util.concurrent.AbstractFuture$Sync)
          - locked <0x...> (a com.google.common.util.concurrent.AbstractFuture$Sync)
          at sun.misc.Unsafe.park(Native Method)
          at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
          at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275)
          at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111)
          at org.jenkinsci.plugins.workflow.support.steps.input.InputAction.loadExecutions(InputAction.java:69)
          at org.jenkinsci.plugins.workflow.support.steps.input.InputAction.remove(InputAction.java:141)
            - locked org.jenkinsci.plugins.workflow.support.steps.input.InputAction@4f8d2160
          at org.jenkinsci.plugins.workflow.support.steps.input.InputStepExecution.postSettlement(InputStepExecution.java:222)
          at org.jenkinsci.plugins.workflow.support.steps.input.InputStepExecution.doAbort(InputStepExecution.java:191)
          at org.jenkinsci.plugins.workflow.support.steps.input.InputStepExecution.stop(InputStepExecution.java:80)
          at org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$1.onSuccess(CpsBodyExecution.java:210)
          at org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$1.onSuccess(CpsBodyExecution.java:199)
          at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$4$1.run(CpsFlowExecution.java:568)
          at ...
      

      InputAction.loadExecutions currently needs to use a weak API which forces it to block. See discussion here.

          [JENKINS-37154] Attempting to abort an input step hangs waiting for metadata

          Jesse Glick created issue -
          Jesse Glick made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Jesse Glick made changes -
          Labels Original: robustness New: robustness threads
          Jesse Glick made changes -
          Labels Original: robustness threads New: deadlock robustness threads
          Jesse Glick made changes -
          Link New: This issue blocks JENKINS-25889 [ JENKINS-25889 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "pipeline-input-step PR 1 (Web Link)" [ 14694 ]
          Jesse Glick made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Jesse Glick made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Resolved [ 5 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "pipeline-input-step PR 2 (Web Link)" [ 14714 ]
          Andrew Bayer made changes -
          Component/s New: pipeline-general [ 21692 ]
          Andrew Bayer made changes -
          Component/s Original: workflow-plugin [ 18820 ]

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: