-
Type:
Bug
-
Status: Done (View Workflow)
-
Priority:
Blocker
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 6.3.0
-
Labels:None
-
Critical Points:2.5
Startup tasks that occur post ActiveObjects initialisation fail silently, due to these actions occurring on a different thread which does not have adequate exception handling, where an exception is thrown initialising the plugin upgrader.
With exception handling added, the following exception can be observed:
java.lang.IllegalArgumentException: com.atlassian.plugin.elements.ResourceLocation referenced from a method is not visible from class loader at java.base/java.lang.reflect.Proxy$ProxyBuilder.ensureVisible(Proxy.java:858) at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329) at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205) at com.atlassian.bitbucket.util.ProxyUtils.createProxy(ProxyUtils.java:74) at com.atlassian.bitbucket.util.ProxyUtils.createProxy(ProxyUtils.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:44) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:89) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) at com.onresolve.scriptrunner.runner.startup.SalPlugin.create(SalPlugin.groovy:23) at com.onresolve.scriptrunner.runner.startup.BitbucketPluginUpgrader.<init>(BitbucketPluginUpgrader.groovy:13) at com.onresolve.scriptrunner.runner.startup.StashStartupManager.runUpgradeTasks(StashStartupManager.groovy:189) at com.onresolve.scriptrunner.runner.startup.StashStartupManager.access$0(StashStartupManager.groovy) at com.onresolve.scriptrunner.runner.startup.StashStartupManager$_onPluginEnabledEvent_closure1.doCall(StashStartupManager.groovy:119)
This appears to be specific to JDK11, as the same behaviour has not yet been observed in a JDK 8 environment.