javax.mail.internet.ParseException

Atlassian JIRA | Jeff Turner | 1 decade ago
  1. 0

    When using the CreateOrCommentHandler to create issues from email in a POP box, it is possible for some emails to get 'stuck', so they create a new JIRA issue(s) every time the POPService runs. This happens when a user's mail client (here, Lotus Notes) tries to encode the filename field of the Content-Disposition: header, as described at http://www.mhonarc.org/~ehood/MIME/2047/rfc2047.html. According to: http://java.sun.com/products/javamail/FAQ.html#encodefilename this is not MIME-compliant behaviour. The attachment is saved with the base64-encoded name ('=?UTF-8?B?U291bmR...'). JIRA may throw an exception [1] when trying to parse the header, and on Windows, will throw another exception[2] when trying to save the attachment with an undecoded filename. A partial workaround has been implemented for 2.5. The filename is checked to see if it appears to be encoded (begins with '=?'), and if so, is decoded. This avoids the second exception, but not the first (which I cannot replicate). [1] 2003-10-16 06:51:42,125 DEBUG [atlassian.jira.mail.MailQueueImpl] Queued: +com.atlassian.jira.mail.IssueMailQueueItem@8ea21d[issue=org.ofbiz.core.entity.GenericValue@e6e42e[id=11392,summary=RE: +Seeking a "Great" Marketing Partner?,key=CSS-56,created=2003-10-16 06:50:55.078,updated=2003-10-16 +06:50:55.078,assignee=<null>,reporter=externaluser],remoteUser=externaluser,notificationType=ISSUE_CREATED,template=issuecrea +ted.vm,subjectPrefix=Created: ]^M 2003-10-16 06:51:42,140 DEBUG [service.util.handler.CreateIssueHandler] Issue CSS-56 created^M 2003-10-16 06:51:42,156 ERROR [service.util.handler.CreateIssueHandler] Could not create issue!^M javax.mail.internet.ParseException^M at javax.mail.internet.ParameterList.<init>(ParameterList.java:61)^M at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:70)^M at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:827)^M at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:241)^M at +com.atlassian.jira.service.util.handler.AbstractMessageHandler.createAttachmentsForMessage(AbstractMessageHandler.java:75)^M at com.atlassian.jira.service.util.handler.CreateIssueHandler.handleMessage(CreateIssueHandler.java:122)^M at com.atlassian.jira.service.util.handler.CreateOrCommentHandler.handleMessage(CreateOrCommentHandler.java:112)^M at com.atlassian.jira.service.services.pop.PopService.run(PopService.java:97)^M at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:54)^M at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:53)^M at org.quartz.core.JobRunShell.run(JobRunShell.java:147)^M at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)^M [2] 2003-10-16 06:53:28,093 ERROR [service.util.handler.AbstractMessageHandler] Exception while creating attachment^M java.io.IOException: Could not move (or copy) attachment from d:\Jira\Attachments\CSS\CSS-57\tempattach22747dat to +d:\Jira\Attachments\CSS\CSS-57\10130_=?UTF-8?B?U291bmRXYXZlIGFuZCBOdWNsZXVzIFIxMjYgU2lkZS1ieS1TaWRlIEluc3RhbGxhdGlvbi5kb2M=?= +:java.io.FileNotFoundException: +d:\Jira\Attachments\CSS\CSS-57\10130_=?UTF-8?B?U291bmRXYXZlIGFuZCBOdWNsZXVzIFIxMjYgU2lkZS1ieS1TaWRlIEluc3RhbGxhdGlvbi5kb2M=?= +(The filename, directory name, or volume label syntax is incorrect)^M

    Atlassian JIRA | 1 decade ago | Jeff Turner
    javax.mail.internet.ParseException
  2. 0

    When using the CreateOrCommentHandler to create issues from email in a POP box, it is possible for some emails to get 'stuck', so they create a new JIRA issue(s) every time the POPService runs. This happens when a user's mail client (here, Lotus Notes) tries to encode the filename field of the Content-Disposition: header, as described at http://www.mhonarc.org/~ehood/MIME/2047/rfc2047.html. According to: http://java.sun.com/products/javamail/FAQ.html#encodefilename this is not MIME-compliant behaviour. The attachment is saved with the base64-encoded name ('=?UTF-8?B?U291bmR...'). JIRA may throw an exception [1] when trying to parse the header, and on Windows, will throw another exception[2] when trying to save the attachment with an undecoded filename. A partial workaround has been implemented for 2.5. The filename is checked to see if it appears to be encoded (begins with '=?'), and if so, is decoded. This avoids the second exception, but not the first (which I cannot replicate). [1] 2003-10-16 06:51:42,125 DEBUG [atlassian.jira.mail.MailQueueImpl] Queued: +com.atlassian.jira.mail.IssueMailQueueItem@8ea21d[issue=org.ofbiz.core.entity.GenericValue@e6e42e[id=11392,summary=RE: +Seeking a "Great" Marketing Partner?,key=CSS-56,created=2003-10-16 06:50:55.078,updated=2003-10-16 +06:50:55.078,assignee=<null>,reporter=externaluser],remoteUser=externaluser,notificationType=ISSUE_CREATED,template=issuecrea +ted.vm,subjectPrefix=Created: ]^M 2003-10-16 06:51:42,140 DEBUG [service.util.handler.CreateIssueHandler] Issue CSS-56 created^M 2003-10-16 06:51:42,156 ERROR [service.util.handler.CreateIssueHandler] Could not create issue!^M javax.mail.internet.ParseException^M at javax.mail.internet.ParameterList.<init>(ParameterList.java:61)^M at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:70)^M at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:827)^M at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:241)^M at +com.atlassian.jira.service.util.handler.AbstractMessageHandler.createAttachmentsForMessage(AbstractMessageHandler.java:75)^M at com.atlassian.jira.service.util.handler.CreateIssueHandler.handleMessage(CreateIssueHandler.java:122)^M at com.atlassian.jira.service.util.handler.CreateOrCommentHandler.handleMessage(CreateOrCommentHandler.java:112)^M at com.atlassian.jira.service.services.pop.PopService.run(PopService.java:97)^M at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:54)^M at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:53)^M at org.quartz.core.JobRunShell.run(JobRunShell.java:147)^M at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)^M [2] 2003-10-16 06:53:28,093 ERROR [service.util.handler.AbstractMessageHandler] Exception while creating attachment^M java.io.IOException: Could not move (or copy) attachment from d:\Jira\Attachments\CSS\CSS-57\tempattach22747dat to +d:\Jira\Attachments\CSS\CSS-57\10130_=?UTF-8?B?U291bmRXYXZlIGFuZCBOdWNsZXVzIFIxMjYgU2lkZS1ieS1TaWRlIEluc3RhbGxhdGlvbi5kb2M=?= +:java.io.FileNotFoundException: +d:\Jira\Attachments\CSS\CSS-57\10130_=?UTF-8?B?U291bmRXYXZlIGFuZCBOdWNsZXVzIFIxMjYgU2lkZS1ieS1TaWRlIEluc3RhbGxhdGlvbi5kb2M=?= +(The filename, directory name, or volume label syntax is incorrect)^M

    Atlassian JIRA | 1 decade ago | Jeff Turner
    javax.mail.internet.ParseException
  3. 0

    When using the Handler to create issues from e-mail and using Lotus Notes, you get the following stacktrace in the logs: {code} JiraQuartzScheduler_Worker-2 WARN ServiceRunner Incoming Issues [service.util.handler.CreateIssueHandler] Could not create issue from message! javax.mail.internet.ParseException at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:94) at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:1085) at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:318) at com.atlassian.mail.MailUtils.getFirstInlinePartWithMimeType(MailUtils.java:562) at com.atlassian.mail.MailUtils.getBodyFromMultipart(MailUtils.java:450) at com.atlassian.mail.MailUtils.getBodyFromMultipart(MailUtils.java:439) at com.atlassian.mail.MailUtils.getBody(MailUtils.java:159) at com.atlassian.jira.service.util.handler.CreateIssueHandler.getDescription(CreateIssueHandler.java:384) at com.atlassian.jira.service.util.handler.CreateIssueHandler.handleMessage(CreateIssueHandler.java:192) at com.atlassian.jira.service.util.handler.CreateOrCommentHandler.handleMessage(CreateOrCommentHandler.java:118) at com.atlassian.jira.service.services.mail.MailFetcherService.run(MailFetcherService.java:189) at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:67) at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:48) at org.quartz.core.JobRunShell.run(JobRunShell.java:191) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516) {code}

    Atlassian JIRA | 5 years ago | Pedro Cora [Atlassian]
    javax.mail.internet.ParseException
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0
  6. 0

    When using the Handler to create issues from e-mail and using Lotus Notes, you get the following stacktrace in the logs: {code} JiraQuartzScheduler_Worker-2 WARN ServiceRunner Incoming Issues [service.util.handler.CreateIssueHandler] Could not create issue from message! javax.mail.internet.ParseException at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:94) at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:1085) at javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:318) at com.atlassian.mail.MailUtils.getFirstInlinePartWithMimeType(MailUtils.java:562) at com.atlassian.mail.MailUtils.getBodyFromMultipart(MailUtils.java:450) at com.atlassian.mail.MailUtils.getBodyFromMultipart(MailUtils.java:439) at com.atlassian.mail.MailUtils.getBody(MailUtils.java:159) at com.atlassian.jira.service.util.handler.CreateIssueHandler.getDescription(CreateIssueHandler.java:384) at com.atlassian.jira.service.util.handler.CreateIssueHandler.handleMessage(CreateIssueHandler.java:192) at com.atlassian.jira.service.util.handler.CreateOrCommentHandler.handleMessage(CreateOrCommentHandler.java:118) at com.atlassian.jira.service.services.mail.MailFetcherService.run(MailFetcherService.java:189) at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:67) at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:48) at org.quartz.core.JobRunShell.run(JobRunShell.java:191) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516) {code}

    Atlassian JIRA | 5 years ago | Pedro Cora [Atlassian]
    javax.mail.internet.ParseException

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. javax.mail.internet.ParseException

      No message provided

      at javax.mail.internet.ParameterList.<init>()
    2. JavaMail API
      MimeBodyPart.getDisposition
      1. javax.mail.internet.ParameterList.<init>(ParameterList.java:61)
      2. javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:70)
      3. javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:827)
      4. javax.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:241)
      4 frames