-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
7.2.0, 7.2.6
-
7.02
-
5
-
Severity 3 - Minor
-
1
-
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
- Go to Administration > Add-ons > Manage Add-ons
- Select All add-ons
- 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
- Go to Administration > Add-ons > Manage Add-ons
- Select All add-ons
- Find the add-on Atlassian *JIRA - Plugins - View Issue Panels and enable module attachmentmodule