Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-65227

Issue Collector fails to attach images for anonymous users with error "Cannot attach file image.jpg: Unknown server error (500)."

    XMLWordPrintable

Details

    Description

      Summary

      When trying to create a JIRA Issue via an issue collector if you're not logged in to JIRA at the time then adding an attachment fails with

      "Cannot attach file image.jpg: Unknown server error (500)."
      
      
      

      Steps to Reproduce

      1. Create a new issue collector
      2. Add it to a test page
      3. Open that page in an incognito window so that you're not logged in to JIRA
      4. Try to upload an attachment

        Expected Results

      Attachment is uploaded and you can create the issue.

      Actual Results

      The below exception is thrown in the JIRA log file:

      2016-07-01 11:09:18,539 http-nio-3004-exec-6 ERROR anonymous 669x6131x1 - 103.233.242.8 /rest/collectors/1.0/tempattachment/1bfd43b8 [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: null
      java.lang.NullPointerException
            at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
            at com.atlassian.fugue.Either.right(Either.java:81)
            at com.atlassian.jira.collector.plugin.rest.TemporaryAttachmentsResource.createTemporaryWebAttachment(TemporaryAttachmentsResource.java:187)
            at com.atlassian.jira.collector.plugin.rest.TemporaryAttachmentsResource.addTemporaryWebAttachment(TemporaryAttachmentsResource.java:128)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            ... 2 filtered
            at java.lang.reflect.Method.invoke(Method.java:497)
            ... 19 filtered
            at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:159)
            ... 1 filtered
            at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:69)
            ... 17 filtered
            at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
                                                                                                                                                                    1053,1        95%
            ... 17 filtered
            at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
            ... 13 filtered
            at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
            ... 20 filtered
            at com.atlassian.jira.plugins.rest.HOT25715FixServletFilter.doFilter(HOT25715FixServletFilter.java:46)
            ... 25 filtered
            at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:81)
            ... 14 filtered
            at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76)
            at com.atlassian.jira.security.JiraSecurityFilter$$Lambda$634/23464434.doFilter(Unknown Source)
            ... 1 filtered
            at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:74)
            ... 16 filtered
            at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
            ... 16 filtered
            at com.atlassian.studio.jira.homepage.CloudHomepageFilter$Action.lambda$nextInFilterChain$1(CloudHomepageFilter.java:110)
            at com.atlassian.studio.jira.homepage.CloudHomepageFilter$Action$$Lambda$627/24218859.execute(Unknown Source)
            at com.atlassian.studio.jira.homepage.CloudHomepageFilter.doFilter(CloudHomepageFilter.java:68)
            ... 17 filtered
            at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
            ... 5 filtered
            at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:109)
            ... 3 filtered
            at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
            at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter$$Lambda$612/13077996.call(Unknown Source)
            at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:142)
            at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:94)
            at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:61)
            at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:174)
            at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:130)
            at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121)
            ... 4 filtered
            at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
            ... 8 filtered
            at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
            ... 4 filtered
            at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
            ... 29 filtered
            at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
            ... 27 filtered
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)
      
      
      

      The following error is shown in the UI:

      "Cannot attach file image.jpg: Unknown server error (500)."
      
      
      

      Workaround

      None.

      Attachments

        Issue Links

          Activity

            People

              ohernandez@atlassian.com Oswaldo Hernandez (Inactive)
              mhunter Matthew Hunter
              Votes:
              16 Vote for this issue
              Watchers:
              30 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: