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

Job hangs trying to resolve Perforce emails, in a non-perforce job

      We upgraded from Jenkins 1.445 to 1.565, and we have a number of jobs configured for subversion, and some configured for perforce.

      This one job in particular, failed (after I had to kill the p4 executable on the build agent, and then ultimately the build agent itself) when it tried to generate an email list to send emails out. It appears to be attempting to get users emails from perforce, even though this one job in particular is in no way configured to use Perforce.

      ERROR: Publisher hudson.tasks.Mailer aborted due to exception
      java.lang.NullPointerException
      	at hudson.model.Slave.createLauncher(Slave.java:359)
      	at hudson.plugins.perforce.PerforceMailResolver.findPerforceMailAddressFor(PerforceMailResolver.java:74)
      	at hudson.plugins.perforce.PerforceMailResolver.findMailAddressFor(PerforceMailResolver.java:25)
      	at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:112)
      	at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:547)
      	at hudson.tasks.MailSender.buildCulpritList(MailSender.java:407)
      	at hudson.tasks.MailSender.createEmptyMail(MailSender.java:367)
      	at hudson.tasks.MailSender.createBackToNormalMail(MailSender.java:176)
      	at hudson.tasks.MailSender.getMail(MailSender.java:167)
      	at hudson.tasks.MailSender.execute(MailSender.java:101)
      	at hudson.tasks.Mailer.perform(Mailer.java:137)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:745)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:709)
      	at hudson.model.Build$BuildExecution.post2(Build.java:182)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:658)
      	at hudson.model.Run.execute(Run.java:1731)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:231)
      

      Only once I had disabled the Perforce plugin entirely, would the job complete without hanging.

          [JENKINS-23256] Job hangs trying to resolve Perforce emails, in a non-perforce job

          davyboyhayes created issue -
          davyboyhayes made changes -
          Labels Original: email-ext perforce New: email-ext mailer perforce
          davyboyhayes made changes -
          Component/s New: mailer [ 17522 ]
          Environment Original: email-ext 2.38
          perforce 1.3.27
          jenkins 1.565
          New: email-ext 2.38
          perforce 1.3.27
          jenkins 1.565
          mailer 1.8

          Alex Earl added a comment -

          This is not a bug in email-ext. Email-ext uses the MailAddressResolver from the Mailer plugin to try and resolve email addresses. The perforce plugin implements a MailAddressResolver, it should probably check if Perforce is setup for the current job.

          Alex Earl added a comment - This is not a bug in email-ext. Email-ext uses the MailAddressResolver from the Mailer plugin to try and resolve email addresses. The perforce plugin implements a MailAddressResolver, it should probably check if Perforce is setup for the current job.

          davyboyhayes added a comment -

          Perforce is definitely not defined (I have checked the jobs config.xml for configuration) for this job.

          davyboyhayes added a comment - Perforce is definitely not defined (I have checked the jobs config.xml for configuration) for this job.

          Alex Earl added a comment -

          Right, so the PerforceMailResolver should probably check that before trying to resolve the email address.

          Alex Earl added a comment - Right, so the PerforceMailResolver should probably check that before trying to resolve the email address.
          Alex Earl made changes -
          Assignee Original: Alex Earl [ slide_o_mix ] New: Rob Petti [ rpetti ]

          davyboyhayes added a comment - - edited

          Agreed, will forward on to Rob Petti (nvm, it already has been)

          davyboyhayes added a comment - - edited Agreed, will forward on to Rob Petti (nvm, it already has been)
          Rob Petti made changes -
          Assignee Original: Rob Petti [ rpetti ]

          Rob Petti added a comment -

          MailAddressResolvers are not given any indication what project they are resolving email addresses for. There's no way to skip it if the job running email-ext isn't configured for perforce, so it's forced to scan all of the projects configured for PerforceSCM objects.

          Rob Petti added a comment - MailAddressResolvers are not given any indication what project they are resolving email addresses for. There's no way to skip it if the job running email-ext isn't configured for perforce, so it's forced to scan all of the projects configured for PerforceSCM objects.

            Unassigned Unassigned
            davyboyhayes davyboyhayes
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: