Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-1863

Null pointer when agent replying to Issue Notifications via gmail

    XMLWordPrintable

Details

    Description

      Steps to reproduce:

      1. Create service desk project
      2. Create E-mail Channel
      3. Send e-mail to create issue in Service Desk Project
      4. Reply to issue notification from agent e-mail from gmail web account.

      Results in log:

      {no format}

      [mail.incoming.jepp.processor] Exception when MailHandlerWorker handles message:
      java.lang.NullPointerException
      at javax.mail.internet.MimeUtility.decodeText(MimeUtility.java:573)
      at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.addAttachments(ServiceDeskMailUtils.java:310)
      at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.getAttachments(ServiceDeskMailUtils.java:260)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailManager.addCommentAndParticipantsFromEmail(IncomingEmailManager.scala:98)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$232a9741555606649ac4fec7538fd7$$$$anonfun$apply$23$$anonfun$apply$24.apply(IncomingEmailService.scala:144)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$232a9741555606649ac4fec7538fd7$$$$anonfun$apply$23$$anonfun$apply$24.apply(IncomingEmailService.scala:144)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$cd2731b58a8142effad79be1482acd$$$$inEmailContext$1$$anonfun$apply$26.apply(IncomingEmailService.scala:164)
      at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:23)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$atlassian$servicedesk$internal$feature$emailchannel$IncomingEmailService$$inEmailContext$1.apply(IncomingEmailService.scala:163)
      at com.atlassian.servicedesk.internal.utils.context.AuthenticationContextUtil$.runAsUser(AuthenticationContextUtil.scala:15)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService.com$atlassian$servicedesk$internal$feature$emailchannel$IncomingEmailService$$inEmailContext(IncomingEmailService.scala:161)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$7525f2ffb11794ac33655698263f5c44$$$$addCommentAndParticipantsToIssue$1$$anonfun$apply$23.apply(IncomingEmailService.scala:142)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$7525f2ffb11794ac33655698263f5c44$$$$addCommentAndParticipantsToIssue$1$$anonfun$apply$23.apply(IncomingEmailService.scala:141)
      at scalaz.$bslash$div$class.flatMap(Either.scala:117)
      at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$7525f2ffb11794ac33655698263f5c44$$$$addCommentAndParticipantsToIssue$1.apply(IncomingEmailService.scala:141)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$7525f2ffb11794ac33655698263f5c44$$$$addCommentAndParticipantsToIssue$1.apply(IncomingEmailService.scala:140)
      at scalaz.$bslash$div$class.flatMap(Either.scala:117)
      at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService.com$atlassian$servicedesk$internal$feature$emailchannel$IncomingEmailService$$addCommentAndParticipantsToIssue(IncomingEmailService.scala:140)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$addCommentByChannelKey$1.apply(IncomingEmailService.scala:133)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$addCommentByChannelKey$1.apply(IncomingEmailService.scala:132)
      at scalaz.$bslash$div$class.flatMap(Either.scala:117)
      at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService.addCommentByChannelKey(IncomingEmailService.scala:132)
      at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService.processEmail(IncomingEmailService.scala:76)
      at com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler.processMessage(SDMailHandler.scala:41)
      at com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler.handleReplyMessage(SDMailHandler.scala:29)
      at com.atlassian.jira.internal.mail.processor.feature.processor.MailHandlerWorker.handle(MailHandlerWorker.java:59)
      at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorWorker.processMailItem(MailProcessorWorker.java:149)
      at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorWorker.process(MailProcessorWorker.java:83)
      at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorService.run(MailProcessorService.java:41)
      at com.atlassian.jira.internal.mail.processor.services.MailProcessorExecutor.run(MailProcessorExecutor.java:34)
      at com.atlassian.jira.internal.mail.processor.services.AbstractMailExecutor.execute(AbstractMailExecutor.java:48)
      at com.atlassian.jira.internal.mail.processor.services.MailJobRunner.runJob(MailJobRunner.java:38)
      at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:135)
      at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:101)
      at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:80)
      at com.atlassian.scheduler.quartz1.Quartz1Job.execute(Quartz1Job.java:32)
      at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)

      
      

      Things to note:

      1. If you change the agents profile within JIRA to use plain text instead of html format it processes fine.
      2. The html text processes file. It's the Jira branded img/png files that causes the null pointer on the reply to the issue notification. More specifically in ServiceDeskMailUtils ( javax.mail.BodyPart) contact seems to be empty.

      It seems the content is null. Looking at the exact section of images its failing. It's the quoted text that is put into png format from the initial notification

      Possible Cause:

      The mail client displays the attached file within the message body in HTML that refers to an image that’s isn't in the message itself. It instead references a URL.

      Attachments

        1. ContentNull.png
          ContentNull.png
          141 kB
        2. Replyimage.png
          Replyimage.png
          133 kB

        Issue Links

          Activity

            People

              cnguyen Chuong Nam Nguyen (Inactive)
              jcastro Jose Castro (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync