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

Deadlock between RunMap and Queue in ExecutorPickle.rehydrate

    Details

    • Similar Issues:

      Description

      Observed in 1.4.2 on 1.580.1. Jenkins restart hung with:

      "Thread-110":
        waiting to lock ...a hudson.model.RunMap,
        which is held by "Jenkins initialization thread"
      "Jenkins initialization thread":
        waiting to lock ...a hudson.model.Queue,
        which is held by "Thread-110"
      "Thread-110":
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:649)
      	- waiting to lock <...> (a hudson.model.RunMap)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:382)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:547)
      	at jenkins.model.lazy.LazyBuildMixIn.getBuildByNumber(LazyBuildMixIn.java:235)
      	at org.jenkinsci.plugins.workflow.job.WorkflowJob.getBuildByNumber(WorkflowJob.java:193)
      	at org.jenkinsci.plugins.workflow.job.WorkflowJob.getBuildByNumber(WorkflowJob.java:90)
      	at jenkins.model.PeepholePermalink.resolve(PeepholePermalink.java:95)
      	at hudson.model.Job.getLastSuccessfulBuild(Job.java:857)
      	at hudson.model.Job.getEstimatedDurationCandidates(Job.java:944)
      	at hudson.model.Job.getEstimatedDuration(Job.java:978)
      	at org.jenkinsci.plugins.workflow.job.AfterRestartTask.getEstimatedDuration(AfterRestartTask.java:100)
      	at hudson.model.queue.MappingWorksheet.<init>(MappingWorksheet.java:335)
      	at hudson.model.queue.MappingWorksheet.<init>(MappingWorksheet.java:318)
      	at hudson.model.Queue.maintain(Queue.java:1052)
      	- locked <...> (a hudson.model.Queue)
      	at ...
      "Jenkins initialization thread":
      	at hudson.model.Queue.schedule2(Queue.java:639)
      	- waiting to lock <...> (a hudson.model.Queue)
      	at org.jenkinsci.plugins.workflow.support.pickles.ExecutorPickle.rehydrate(ExecutorPickle.java:67)
      	at org.jenkinsci.plugins.workflow.support.pickles.serialization.PickleResolver.rehydrate(PickleResolver.java:68)
      	at org.jenkinsci.plugins.workflow.support.pickles.serialization.RiverReader.restorePickles(RiverReader.java:135)
      	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.loadProgramAsync(CpsFlowExecution.java:408)
      	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.onLoad(CpsFlowExecution.java:386)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.onLoad(WorkflowRun.java:354)
      	at hudson.model.RunMap.retrieve(RunMap.java:219)
      	at hudson.model.RunMap.retrieve(RunMap.java:56)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:688)
      	- locked <...> (a hudson.model.RunMap)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:671)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.getById(AbstractLazyLoadRunMap.java:543)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun$Owner.run(WorkflowRun.java:581)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun$Owner.get(WorkflowRun.java:591)
      	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$1.computeNext(FlowExecutionList.java:59)
      	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$1.computeNext(FlowExecutionList.java:51)
      	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
      	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
      	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl.onLoaded(FlowExecutionList.java:165)
      	at jenkins.model.Jenkins.<init>(Jenkins.java:845)
      	at ...
      

        Attachments

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

            Similar to some other filed deadlocks but distinct.

            Show
            jglick Jesse Glick added a comment - Similar to some other filed deadlocks but distinct.

              People

              • Assignee:
                jglick Jesse Glick
                Reporter:
                jglick Jesse Glick
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: