Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.5.0
Description
Summary
In certain situations it's possible to have a mail that's missing a subject, for example including a mail as an attachment in the body of an existing mail using Outlook.
Steps to Reproduce
- Send a mail to a JIRA Service Desk enabled mail handler inbox with an email attached to the body.
Expected Results
The mail is successfully created.
Actual Results
The below NPE is thrown:
2015-08-25 14:32:41,819 ERROR [] atlassian-scheduler-quartz1.clustered_Worker-2 anonymous Exception when MailHandlerWorker handles message: java.lang.NullPointerException at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.getAttachmentFilename(ServiceDeskMailUtils.java:368) at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.addAttachments(ServiceDeskMailUtils.java:322) at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.getAttachments(ServiceDeskMailUtils.java:272) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailManager.createIssueInJiraContext(IncomingEmailManager.scala:189) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailManager.createIssueFromEmail(IncomingEmailManager.scala:169) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$createNewIssueWithMailChannel$2.apply(IncomingEmailService.scala:132) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$createNewIssueWithMailChannel$2.apply(IncomingEmailService.scala:131) 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.createNewIssueWithMailChannel(IncomingEmailService.scala:131) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$bd7392fa9edbf4ccadfa49f2f55a2a$$$$wOrCommentOnIssueWithMailChannel$1.apply(IncomingEmailService.scala:97) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$bd7392fa9edbf4ccadfa49f2f55a2a$$$$wOrCommentOnIssueWithMailChannel$1.apply(IncomingEmailService.scala:95) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$d05034469980e826573cdcd0f9711981$$$$inEmailContext$1$$anonfun$apply$11.apply(IncomingEmailService.scala:145) 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:144) 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:142) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService.com$atlassian$servicedesk$internal$feature$emailchannel$IncomingEmailService$$createNewOrCommentOnIssueWithMailChannel(IncomingEmailService.scala:95) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1$$anonfun$apply$1$$anonfun$apply$2.apply(IncomingEmailService.scala:75) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1$$anonfun$apply$1$$anonfun$apply$2.apply(IncomingEmailService.scala:74) 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$1$$anonfun$apply$1.apply(IncomingEmailService.scala:74) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1$$anonfun$apply$1.apply(IncomingEmailService.scala:73) 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$1.apply(IncomingEmailService.scala:73) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1.apply(IncomingEmailService.scala:72) 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.processEmailWithMailChannel(IncomingEmailService.scala:72) at com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler.processMessage(SDMailHandler.scala:41) at com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler.handleNewMessage(SDMailHandler.scala:25) at com.atlassian.jira.internal.mail.processor.feature.processor.MailHandlerWorker.handle(MailHandlerWorker.java:67) 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:136) 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) 2015-08-25 14:41:41,844 ERROR [] atlassian-scheduler-quartz1.clustered_Worker-2 anonymous Exception when MailHandlerWorker handles message: java.lang.NullPointerException at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.getAttachmentFilename(ServiceDeskMailUtils.java:368) at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.addAttachments(ServiceDeskMailUtils.java:322) at com.atlassian.servicedesk.squalor.email.ServiceDeskMailUtils.getAttachments(ServiceDeskMailUtils.java:272) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailManager.createIssueInJiraContext(IncomingEmailManager.scala:189) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailManager.createIssueFromEmail(IncomingEmailManager.scala:169) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$createNewIssueWithMailChannel$2.apply(IncomingEmailService.scala:132) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$createNewIssueWithMailChannel$2.apply(IncomingEmailService.scala:131) 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.createNewIssueWithMailChannel(IncomingEmailService.scala:131) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$bd7392fa9edbf4ccadfa49f2f55a2a$$$$wOrCommentOnIssueWithMailChannel$1.apply(IncomingEmailService.scala:97) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$bd7392fa9edbf4ccadfa49f2f55a2a$$$$wOrCommentOnIssueWithMailChannel$1.apply(IncomingEmailService.scala:95) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$com$$$$$d05034469980e826573cdcd0f9711981$$$$inEmailContext$1$$anonfun$apply$11.apply(IncomingEmailService.scala:145) 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:144) 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:142) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService.com$atlassian$servicedesk$internal$feature$emailchannel$IncomingEmailService$$createNewOrCommentOnIssueWithMailChannel(IncomingEmailService.scala:95) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1$$anonfun$apply$1$$anonfun$apply$2.apply(IncomingEmailService.scala:75) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1$$anonfun$apply$1$$anonfun$apply$2.apply(IncomingEmailService.scala:74) 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$1$$anonfun$apply$1.apply(IncomingEmailService.scala:74) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1$$anonfun$apply$1.apply(IncomingEmailService.scala:73) 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$1.apply(IncomingEmailService.scala:73) at com.atlassian.servicedesk.internal.feature.emailchannel.IncomingEmailService$$anonfun$1.apply(IncomingEmailService.scala:72) 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.processEmailWithMailChannel(IncomingEmailService.scala:72) at com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler.processMessage(SDMailHandler.scala:41) at com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler.handleNewMessage(SDMailHandler.scala:25) at com.atlassian.jira.internal.mail.processor.feature.processor.MailHandlerWorker.handle(MailHandlerWorker.java:67) 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:136) 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)
Workaround
There's no currently known workaround for this.
Attachments
Issue Links
- relates to
-
JSDSERVER-1792 Having a .msg attachment or Content-Type: multipart/alternative will not create mail issue, NullPointerException in log file.
- Closed