JIRA Applications Gadgets stop working due to NewRelic Java Agent
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the server and data center platforms.
Problem
Adding new gadgets or browsing existing gadgets will fail with the following errors in the UI:
- "The JIRA server could not be contacted. This may be a temporary glitch or the server may be down."
- "An unknown error occurred while trying to perform a search."
- "The resource <GADGET_URI>, cannot be found."
- "The resource undefined, cannot be found."
The following error can be found in the atlassian-jira.log:
2017-01-16 11:29:10,125 http-bio-8080-exec-179 ERROR username 689x2365924x34 1dv8f3d 10.16.7.22,0:0:0:0:0:0:0:1 /rest/gadget/1.0/statistics [atlassian.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=com.atlassian.jira.gadgets:gadgetRESTpoints-filter (null), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@1172ce81}
com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.VerifyError: Bad local variable type
Exception Details:
Location:
com/atlassian/jira/gadgets/system/IssueTableResource.getFilterTable(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ZILjava/lang/String;ZZZZ)Ljavax/ws/rs/core/Response; @545: iload
Reason:
Type top (current frame, locals[14]) is not assignable to integer
Current Frame:
bci: @545
flags: { }
locals: { 'com/atlassian/jira/gadgets/system/IssueTableResource', 'javax/servlet/http/HttpServletRequest', 'java/lang/String', 'java/lang/String', 'java/util/List', 'java/lang/String', integer, integer, 'java/lang/String', integer, integer, integer, integer, 'com/newrelic/agent/bridge/ExitTracer', top, 'javax/ws/rs/core/Response', top, top, top, top, top, top, integer, integer, integer, integer, 'java/lang/String', integer, integer, 'java/lang/String', 'java/util/List', 'java/lang/String', 'java/lang/String', 'javax/servlet/http/HttpServletRequest', 'com/atlassian/jira/gadgets/system/IssueTableResource', 'java/util/ArrayList', 'com/atlassian/jira/issue/search/SearchRequest', integer }
stack: { integer }
Bytecode:
0x0000000: 013a 0db2 00d0 2a11 0283 0110 06b9 00d6
(...)
0x0000270: b019 0dc6 000c 5919 0d5f b901 4502 00bf
0x0000280:
Exception Handler Table:
bci [3, 24] => handler: 23
bci [30, 344] => handler: 344
bci [569, 588] => handler: 588
bci [3, 625] => handler: 625
Stackmap Table:
full_frame(@23,{Object[#3],Object[#418],Object[#279],Object[#279],Object[#348],Object[#279],Integer,Integer,Object[#279],Integer,Integer,Integer,Integer,Object[#318]},{Object[#202]})
(...)
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)
Caused by: java.lang.VerifyError: Bad local variable type
(...)
Diagnosis
Environment
- The JIRA Server is integrated with NewRelic using the Java agent version 3.35.1.
Diagnostic Steps
- Removing the integration with NewRelic resolves the issue.
Cause
This is a known issue caused by the NewRelic Java agent version 3.35.1.
Source: NewRelic Java Agent 3.35.1 - Release Notes
Workaround
- Downgrade the Java Agent to version 3.34.0.
Resolution
- Update the NewRelic Java Agent to a version containing the fix.
Last modified on Jan 20, 2017
Powered by Confluence and Scroll Viewport.