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();
      }
      

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

              Created:
              Updated:
              Resolved: