Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-15360

Kanban board breaks down if attachmentmodule from JIRA - Plugins - View Issue Panels is disabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 7.2.0, 7.2.6
    • AgileBoard

      Summary

      Kanban board breaks down if attachmentmodule from JIRA - Plugins - View Issue Panels is disabled

      Environment

      JIRA 7.2.6
      Not reproducible with: JIRA 6.4 and JIRA 7.1.9

      Steps to Reproduce

      1. Go to Administration > Add-ons > Manage Add-ons
      2. Select All add-ons
      3. Find the add-on Atlassian *JIRA - Plugins - View Issue Panels and disable module attachmentmodule

      Expected Results

      Kanban board working noramlly

      Actual Results

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

      2016-12-20 18:43:36,803 ajp-nio-8072-exec-31 ERROR admin 1123x156666x1 27lkta 192.168.10.170 /rest/greenhopper/1.0/xboard/issue/details.json [c.a.g.w.rapid.issue.IssueResource] Unable to complete GreenHopper REST method 
      java.lang.IllegalArgumentException: The delegated panel with the complete key ['com.atlassian.jira.jira-view-issue-plugin:attachmentmodule'] must be an instance of WebPanelModuleDescriptor
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder.toDelegateWebPanel(DelegatedWebPanelFinder.java:56)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder.lambda$findDelegatedPanels$2(DelegatedWebPanelFinder.java:42)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder$$Lambda$4074/1535202189.apply(Unknown Source)
      	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:512)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
      	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.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder.findDelegatedPanels(DelegatedWebPanelFinder.java:45)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.getDelegatedPanel(BaseEditableTabEntryFactory.java:250)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.buildSectionForDelegatePanel(BaseEditableTabEntryFactory.java:230)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.buildSection(BaseEditableTabEntryFactory.java:201)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.lambda$buildSections$43(BaseEditableTabEntryFactory.java:147)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory$$Lambda$4068/1299245163.apply(Unknown Source)
      	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:512)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
      	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.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.buildSections(BaseEditableTabEntryFactory.java:149)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.createEntry(BaseEditableTabEntryFactory.java:79)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory.lambda$buildTabs$39(EditableTabModelFactory.java:69)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory$$Lambda$4060/753019383.apply(Unknown Source)
      	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
      	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.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory.buildTabs(EditableTabModelFactory.java:70)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory.createModel(EditableTabModelFactory.java:52)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueEntryFactory.buildViewEntry(IssueEntryFactory.java:378)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueResource$1.call(IssueResource.java:159)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueResource$1.call(IssueResource.java:129)
      	at com.atlassian.greenhopper.web.util.RestCall.response(RestCall.java:42)
      	at com.atlassian.greenhopper.web.AbstractResource.createResponse(AbstractResource.java:111)
      	at com.atlassian.greenhopper.web.AbstractResource.response(AbstractResource.java:91)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueResource.getPageData(IssueResource.java:128)
      	... 2 filtered
      	at java.lang.reflect.Method.invoke(Method.java:483)
      	... 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)
      	... 33 filtered
      	at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
      	... 8 filtered
      	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      	... 53 filtered
      	at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76)
      	at com.atlassian.jira.security.JiraSecurityFilter$$Lambda$859/1010089394.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)
      	... 20 filtered
      	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      	... 5 filtered
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter$$Lambda$5677/963497961.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:64)
      	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)
      2016-12-20 18:43:36,805 ajp-nio-8072-exec-31 ERROR admin 1123x156666x1 27lkta 192.168.10.170 /rest/greenhopper/1.0/xboard/issue/details.json [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: The delegated panel with the complete key ['com.atlassian.jira.jira-view-issue-plugin:attachmentmodule'] must be an instance of WebPanelModuleDescriptor
      java.lang.IllegalArgumentException: The delegated panel with the complete key ['com.atlassian.jira.jira-view-issue-plugin:attachmentmodule'] must be an instance of WebPanelModuleDescriptor
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder.toDelegateWebPanel(DelegatedWebPanelFinder.java:56)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder.lambda$findDelegatedPanels$2(DelegatedWebPanelFinder.java:42)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder$$Lambda$4074/1535202189.apply(Unknown Source)
      	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:512)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
      	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.greenhopper.web.rapid.issue.tabs.editable.utils.DelegatedWebPanelFinder.findDelegatedPanels(DelegatedWebPanelFinder.java:45)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.getDelegatedPanel(BaseEditableTabEntryFactory.java:250)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.buildSectionForDelegatePanel(BaseEditableTabEntryFactory.java:230)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.buildSection(BaseEditableTabEntryFactory.java:201)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.lambda$buildSections$43(BaseEditableTabEntryFactory.java:147)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory$$Lambda$4068/1299245163.apply(Unknown Source)
      	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:512)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
      	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.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.buildSections(BaseEditableTabEntryFactory.java:149)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.editable.factory.BaseEditableTabEntryFactory.createEntry(BaseEditableTabEntryFactory.java:79)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory.lambda$buildTabs$39(EditableTabModelFactory.java:69)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory$$Lambda$4060/753019383.apply(Unknown Source)
      	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
      	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.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory.buildTabs(EditableTabModelFactory.java:70)
      	at com.atlassian.greenhopper.web.rapid.issue.tabs.EditableTabModelFactory.createModel(EditableTabModelFactory.java:52)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueEntryFactory.buildViewEntry(IssueEntryFactory.java:378)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueResource$1.call(IssueResource.java:159)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueResource$1.call(IssueResource.java:129)
      	at com.atlassian.greenhopper.web.util.RestCall.response(RestCall.java:42)
      	at com.atlassian.greenhopper.web.AbstractResource.createResponse(AbstractResource.java:111)
      	at com.atlassian.greenhopper.web.AbstractResource.response(AbstractResource.java:91)
      	at com.atlassian.greenhopper.web.rapid.issue.IssueResource.getPageData(IssueResource.java:128)
      	... 2 filtered
      	at java.lang.reflect.Method.invoke(Method.java:483)
      	... 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)
      	... 33 filtered
      	at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31)
      	... 8 filtered
      	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      	... 53 filtered
      	at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76)
      	at com.atlassian.jira.security.JiraSecurityFilter$$Lambda$859/1010089394.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)
      	... 20 filtered
      	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      	... 5 filtered
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter$$Lambda$5677/963497961.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:64)
      	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)
      

      Workaround

      1. Go to Administration > Add-ons > Manage Add-ons
      2. Select All add-ons
      3. Find the add-on Atlassian *JIRA - Plugins - View Issue Panels and enable module attachmentmodule

              Unassigned Unassigned
              dsenger Deyves (Inactive)
              Votes:
              17 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated: