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

NPE at hudson.plugins.im.tools.BuildHelper.isFix

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      We're observing the following NPE, which is causing builds to spuriously fail:

      18:21:55 FATAL: null
      18:21:55 java.lang.NullPointerException
      18:21:55 	at hudson.plugins.im.tools.BuildHelper.isFix(BuildHelper.java:69)
      18:21:55 	at hudson.plugins.im.build_notify.SummaryOnlyBuildToChatNotifier.buildCompletionMessage(SummaryOnlyBuildToChatNotifier.java:34)
      18:21:55 	at hudson.plugins.im.IMPublisher.notifyChatsOnBuildEnd(IMPublisher.java:577)
      18:21:55 	at hudson.plugins.im.IMPublisher.notifyOnBuildEnd(IMPublisher.java:304)
      18:21:55 	at hudson.plugins.im.IMPublisher$1.endBuild(IMPublisher.java:718)
      18:21:55 	at hudson.matrix.MatrixBuild$MatrixBuildExecution.post2(MatrixBuild.java:407)
      18:21:55 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:658)
      18:21:55 	at hudson.model.Run.execute(Run.java:1731)
      18:21:55 	at hudson.matrix.MatrixBuild.run(MatrixBuild.java:306)
      18:21:55 	at hudson.model.ResourceController.execute(ResourceController.java:88)
      18:21:55 	at hudson.model.Executor.run(Executor.java:231)
      18:21:55 	at hudson.model.OneOffExecutor.run(OneOffExecutor.java:43)
      

      The line reported by the tip of the stack trace would seem to be the middle return statement in the following:

      @Deprecated
      public static boolean isFix(AbstractBuild<?, ?> build) {
          if (build.getResult() != Result.SUCCESS) {
              return false;
          }
          
          AbstractBuild<?, ?> previousBuild = getPreviousNonAbortedBuild(build);
          if (previousBuild != null) {
              return previousBuild.getResult().isWorseThan(Result.SUCCESS);
          }
          return false;
      }
      

      The job in question is configured to allow multiple concurrent builds, at which point it seems plausible that previousBuild ends up being set to a build that is still in progress, causing getResult to return null.

        Attachments

          Activity

          Hide
          kutzi kutzi added a comment - - edited

          Which version of the instant-messaging plugin are you using? This method shouldn't be in use anymore. (edit: sorry, that was wrong - it's still used)

          Show
          kutzi kutzi added a comment - - edited Which version of the instant-messaging plugin are you using? This method shouldn't be in use anymore. (edit: sorry, that was wrong - it's still used)
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          src/main/java/hudson/plugins/im/tools/BuildHelper.java
          http://jenkins-ci.org/commit/instant-messaging-plugin/043049283a7ce610c532df0da62ff299fe70d60c
          Log:
          [FIXED JENKINS-23315] potential NPE if previous build is still running

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: src/main/java/hudson/plugins/im/tools/BuildHelper.java http://jenkins-ci.org/commit/instant-messaging-plugin/043049283a7ce610c532df0da62ff299fe70d60c Log: [FIXED JENKINS-23315] potential NPE if previous build is still running
          Hide
          corsix Peter Cawley added a comment -

          Thanks for the fix, we'll incorporate it when we next upgrade (which may well be sooner rather than later).

          Show
          corsix Peter Cawley added a comment - Thanks for the fix, we'll incorporate it when we next upgrade (which may well be sooner rather than later).

            People

            • Assignee:
              kutzi kutzi
              Reporter:
              corsix Peter Cawley
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: