Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-68560

Bubble Chart gadget shows "Opps - an error occured" message

    XMLWordPrintable

Details

    Description

      Summary

      Bubble Chart gadget shows "Opps - an error occured" message

      Environment

      Jira Software Standalone and Data Center Editions

      Steps to Reproduce

      There are no steps to reproduce. This issue is intermittent and happens when an automatic comment is added to a jira issue on failing to attach an image.
      If such a comment is present on a JIRA issue, it's 'author' column value in the 'jiraaction' table will be 'NULL' (which is incorrect)

      Expected Results

      The bubble chart should ignore comments when their 'author' value in jiraaction table, column 'author' is set to NULL and still render correctly

      Actual Results

      Bubble Chart stops rendering correctly and shows the following error:

      "Opps - an error occurred" message on the chart

      The below error is shown on the affected issue comment:

      Anonymous added a comment - An error occurred while adding attachments to this issue from the source email. Please check the attachments and re-send the email.
      

      The following exception is thrown in the atlassian-jira.log:

      2018-11-26 01:03:22,906 https-jsse-nio-10.101.31.30-443-exec-3 ERROR username 63x59676x1 o7n8ag 172.16.40.231 /rest/gadget/1.0/bubblechart/generate [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: null
      java.lang.NullPointerException
      	at com.atlassian.jira.gadgets.system.bubblechart.ToIssueBubbleData.lambda$getCommentersForComments$0(ToIssueBubbleData.java:73)
      	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
      	at com.atlassian.jira.gadgets.system.bubblechart.ToIssueBubbleData.getCommentersForComments(ToIssueBubbleData.java:74)
      	at com.atlassian.jira.gadgets.system.bubblechart.ToIssueBubbleData.apply(ToIssueBubbleData.java:44)
      	at com.atlassian.jira.gadgets.system.bubblechart.ToIssueBubbleData.apply(ToIssueBubbleData.java:21)
      	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
      	at com.atlassian.jira.gadgets.system.bubblechart.BubbleChartResource.generateChart(BubbleChartResource.java:98)
      	... 2 filtered
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	... 19 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
      	... 1 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
      	... 41 filtered
      	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      	... 57 filtered
      	at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
      	... 1 filtered
      	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
      	... 16 filtered
      	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
      	... 19 filtered
      	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      	... 10 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)
      	... 26 filtered
      	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
      	... 24 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)
      

      Notes

      The issue is random and the root cause of the issue is unknown yet, in most cases JIRA will not auto comment on failed attachments, but under unknown set of circumstances it will

      Workaround

      1) Confirm if you're affected by this issue by checking if there any entries in 'jiraaction' table with 'author' value set to NULL.
      Run the following SQL query in the JIRA database:

      select * from jiraaction where author is null;
      

      If there are any entries there – please take a note of the entries IDs and proceed to step 2

      2) Delete the offending entries from the jiraaction table:

      delete from jiraaction where id in ('issue ID1', 'Issue ID2');
      

      where issue ID1, Issue ID2 - are the entry IDs determined in step 1 above

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              soslopov Sergey
              Votes:
              5 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated: