• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Low Low
    • 5.6.1, 5.8.0
    • 5.5.0, 5.6.0
    • Email - Incoming
    • None

      Issue Summary

      An email received as part of a voice mail broke the incoming email request for a Jira Service Management project.

      An email from +49xxxxxxxxx@.MISSING-HOST-NAME. that contained a voice mail/ message caused the mail processor to stop processing any incoming mail.

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Configure a email channel for a JSM project
      2. Send an email from a invalid email address that contains a voice message
      3. The mail processor will get stuck and fail to process any incoming mail

      Expected Results

      If the mail processor encounters an invalid email address or invalid email content, it should reject or mark the mail has failed to process

      Actual Results

      The mail process fails for the following error;

      2023-02-08 15:19:37,192+0100 DEBUG [] Caesium-1-1 ServiceRunner     Start running MailProcessor ...
      2023-02-08 15:19:37,195+0100 DEBUG [] Caesium-1-1 ServiceRunner     Found 2 valid mail channels for processing email(s)
      2023-02-08 15:19:37,195+0100 DEBUG [] Caesium-1-1 ServiceRunner     Starts processing mail item(s) for mail channel [CHANNELa1ab56170b9a] ...
      2023-02-08 15:19:37,196+0100 DEBUG [] Caesium-1-1 ServiceRunner     Looking up main handler ...
      2023-02-08 15:19:37,197+0100 DEBUG [] Caesium-1-1 ServiceRunner     Found main handler [com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.handler.SDMailHandler]
      2023-02-08 15:19:37,197+0100 DEBUG [] Caesium-1-1 ServiceRunner     Looking up mail filters ...
      2023-02-08 15:19:37,198+0100 DEBUG [] Caesium-1-1 ServiceRunner     Found 4 mail filters com.atlassian.jira.mail.processor.api.handler.DeliveryStatusMailFilter, com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.filter.SDSentFromJIRAFilter, com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.filter.SDBulkFilter, com.atlassian.servicedesk.internal.feature.emailchannel.emailplatform.filter.SDAutoReplyFilter
      2023-02-08 15:19:37,223+0100 DEBUG [] Caesium-1-1 ServiceRunner     Starts processing mail item [id: 115047] ...
      2023-02-08 15:19:37,223+0100 DEBUG [] Caesium-1-1 ServiceRunner     Checking if mail item [id: 115047] is a mail loop ...
      2023-02-08 15:19:37,224+0100 DEBUG [] Caesium-1-1 ServiceRunner     Filtering message [message number: 0] using mail filter allow list...
      2023-02-08 15:19:37,227+0100 ERROR [] Caesium-1-1 ServiceRunner     MailJobRunner Failed
      java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
      	at com.atlassian.jira.internal.mail.processor.feature.processor.AllowBlockListHelper.getSenderDomain(AllowBlockListHelper.java:77) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.AllowBlockListHelper.isSenderAllowListed(AllowBlockListHelper.java:66) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.AllowBlockListHelper.isMessageInAllowList(AllowBlockListHelper.java:54) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.MailFilterWorker.filter(MailFilterWorker.java:57) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorWorker.processMailItem(MailProcessorWorker.java:120) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorWorker.lambda$process$0(MailProcessorWorker.java:96) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109) [?:?]
      	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:64) [?:?]
      	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.lambda$borrowConnectionAndExecute$0(JiraHostConnectionAccessor.java:95) [?:?]
      	at com.atlassian.jira.database.DatabaseAccessorImpl.executeQuery(DatabaseAccessorImpl.java:74) [classes/:?]
      	at jdk.internal.reflect.GeneratedMethodAccessor673.invoke(Unknown Source) [?:?]
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:?]
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566) [?:?]
      	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) [atlassian-plugins-core-7.1.4.jar:?]
      	at com.sun.proxy.$Proxy726.executeQuery(Unknown Source) [?:?]
      	at jdk.internal.reflect.GeneratedMethodAccessor673.invoke(Unknown Source) [?:?]
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:?]
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566) [?:?]
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130) [atlassian-plugins-osgi-bridge-7.1.4.jar:?]
      	at com.sun.proxy.$Proxy726.executeQuery(Unknown Source) [?:?]
      	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.borrowConnectionAndExecute(JiraHostConnectionAccessor.java:84) [?:?]
      	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.execute(JiraHostConnectionAccessor.java:48) [?:?]
      	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:61) [?:?]
      	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInNewTransaction(DatabaseAccessorImpl.java:38) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorWorker.process(MailProcessorWorker.java:93) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorWorker.processAllValidMailChannels(MailProcessorWorker.java:143) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.feature.processor.MailProcessorService.run(MailProcessorService.java:25) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.services.MailProcessorExecutor.run(MailProcessorExecutor.java:29) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.services.AbstractMailExecutor.execute(AbstractMailExecutor.java:45) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.jira.internal.mail.processor.services.MailJobRunner.runJob(MailJobRunner.java:35) [jira-email-processor-plugin-5.6.0-REL-0004.jar:?]
      	at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:134) [?:?]
      	at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:106) [?:?]
      	at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:90) [?:?]
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:435) [?:?]
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:430) [?:?]
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:454) [?:?]
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:382) [?:?]
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66) [?:?]
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60) [?:?]
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35) [?:?]
      	at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
      

      This error seems to specifically happen when trying to check the incoming mail against the Allowlist

      Workaround

      To workaround this and stop the mail process from checking against the allowlist, disable the feature through Dark features;

      1. Go to <BASE_URL>/secure/admin/SiteDarkFeatures!default.jspa
      2. In the Enable Dark Feature box at the bottom, add the following lines and click add after each entry.
        1. sd.email.allow.list.support.disabled
        2. sd.email.block.list.support.disabled
      3. Go to Admin -> Applications and verify that the allowlist and blocklist features are no longer present under email requests.

          Form Name

            [JSDSERVER-12375] Invalid email breaks incoming mail processor for mail handler

            Adrian Stephen made changes -
            Remote Link Original: This issue links to "Page (Confluence)" [ 776386 ]
            Adrian Stephen made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 776386 ]
            Tom Offin made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 776425 ]
            Satej Mirpagar made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Waiting for Release [ 12075 ] New: Closed [ 6 ]
            Benjamin Suess made changes -
            Fix Version/s New: 5.6.1 [ 104320 ]
            Benjamin Suess made changes -
            Fix Version/s New: 5.8.0 [ 104629 ]
            Benjamin Suess made changes -
            Status Original: In Progress [ 3 ] New: Waiting for Release [ 12075 ]
            SET Analytics Bot made changes -
            UIS Original: 12 New: 13
            SET Analytics Bot made changes -
            Support reference count Original: 2 New: 3
            SET Analytics Bot made changes -
            UIS New: 12

              c8bcca445054 Benjamin Suess
              7550ef5838c5 Tom Offin
              Affected customers:
              0 This affects my team
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: