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

RuntimeException in RunListeners may cause Future.get to never return

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • core
    • None
    • Jenkins 1.424.2 Jenkins 1.447.2

      For example the parameterized-trigger uses Future.get to wait for a triggered build to finish, when a NullpointerException was thrown in the ArtifactDeployer's onDeleted the build that waited was waiting forever.

      The exception from the log that caused Future.set to not be called correctly was:

      Jul 5, 2012 11:00:24 PM hudson.model.Executor run
      SEVERE: Executor threw an exception
      java.lang.NullPointerException
      at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher$DeleteRemoteArtifact.onDeleted(ArtifactDeployerPublisher.java:187)
      at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher$DeleteRemoteArtifact.onDeleted(ArtifactDeployerPublisher.java:171)
      at hudson.model.listeners.RunListener.fireDeleted(RunListener.java:208)
      at hudson.model.Run.delete(Run.java:1187)
      at hudson.model.AbstractBuild.delete(AbstractBuild.java:362)
      at hudson.tasks.LogRotator.perform(LogRotator.java:157)
      at hudson.model.Job.logRotate(Job.java:315)
      at hudson.model.Run.run(Run.java:1440)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:175)

      Although it was due to an exception in a plugin I think the Executor should be a bit more robust in this case.

      This mail thread has a similar description of the problem: https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-dev/P7XiYknqgoI

            Unassigned Unassigned
            rsandell rsandell
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: