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

Deadlock when running multiple delete

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Critical Critical
    • None
    • Jenkins 1.509.1 running on Ubuntu 12.04 with JDK 1.7
      Jenkins 1.501 on Debian 6

      Tried to remove ~20 builds in parallel with 30 days of build logs (a lot of files) and this resulted in a deadlock and we needed to restart the server.
      JavaMelody listed the doDelete threads as deadlocked and showed
      1 x hudson.model.Job.delete(Job.java:587)
      17 x hudson.model.Project.getPublishersList(Project.java:114)
      as a result of the deadlock we can't edit builds anymore

      /configSubmit : http-bio-8080-exec-3552	yes	5	BLOCKED	hudson.model.Project.getPublishersList(Project.java:114)
      
      /doDelete : http-bio-8080-exec-3503	yes	5	BLOCKED	hudson.model.Project.getPublishersList(Project.java:114)
      
      /doDelete : http-bio-8080-exec-3543	yes	5	BLOCKED	hudson.model.Job.delete(Job.java:587)
      

      Looking in project.java it looks like a deprecated method is used

      /**
       * @deprecated as of 1.463 We will be soon removing the restriction that
       *             only one instance of publisher is allowed per type. Use
       *             {@link #getPublishersList()} instead.
       */
      public Map<Descriptor<Publisher>,Publisher> getPublishers() {
      return publishers.toMap();
      }
      

        1. build1.txt
          7 kB
          Marcus Jacobsson
        2. build2.txt
          7 kB
          Marcus Jacobsson
        3. jenkins-18169-jstack-deadlock.txt
          20 kB
          Emil Sit
        4. jenkins-18169-thread-dump-redacted.txt
          187 kB
          Emil Sit

            Unassigned Unassigned
            hanabishi Marcus Jacobsson
            Votes:
            3 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: