JIRA Applications Gadgets stop working due to NewRelic Java Agent
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
Solution
Update the NewRelic Java Agent to a version containing the fix.
Workaround
Downgrade the Java Agent to version 3.34.0.
Was this helpful?