Uploaded image for project: 'SR for Bitbucket - Development'
  1. SR for Bitbucket - Development
  2. SRBITB-770

Upgrade tasks and subsequent startup tasks fail to run on JDK11

    Details

    • 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

      Description

      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.

        Attachments

          Structure

            Activity

              People

              Assignee:
              rlander Reece Lander
              Reporter:
              rlander Reece Lander
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Structure Helper Panel