[
https://issues.apache.org/jira/browse/GROOVY-9392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul King closed GROOVY-9392.
-----------------------------
> GroovyClassLoader as system class loader fails in Groovy 3
> ----------------------------------------------------------
>
> Key: GROOVY-9392
> URL: https://issues.apache.org/jira/browse/GROOVY-9392
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: Eric Milles
> Assignee: Eric Milles
> Priority: Major
> Fix For: 4.0.0-alpha-1, 3.0.1
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Running a JVM with
> {{-Djava.system.class.loader=groovy.lang.GroovyClassLoader}} causes the
> following exception since Groovy 3.0.0 (not an issue in Groovy 3.0rc3 and
> prior).
> {code}
> java.lang.BootstrapMethodError: java.lang.ExceptionInInitializerError
> at
> org.codehaus.groovy.control.CompilerConfiguration.<init>(CompilerConfiguration.java:429)
> at
> org.codehaus.groovy.control.CompilerConfiguration$1.<init>(CompilerConfiguration.java:135)
> at
> org.codehaus.groovy.control.CompilerConfiguration.<clinit>(CompilerConfiguration.java:135)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:159)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:183)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:139)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2204)
> at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2188)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1449)
> at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1429)
> Caused by: java.lang.ExceptionInInitializerError
> at
> java.lang.invoke.BoundMethodHandle.<clinit>(BoundMethodHandle.java:830)
> at java.lang.invoke.LambdaForm.createIdentityForms(LambdaForm.java:1778)
> at java.lang.invoke.LambdaForm.<clinit>(LambdaForm.java:1833)
> at
> java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm(DirectMethodHandle.java:231)
> at
> java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:194)
> at
> java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:183)
> at java.lang.invoke.DirectMethodHandle.make(DirectMethodHandle.java:89)
> at
> java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:1660)
> at
> java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:1617)
> at
> java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(MethodHandles.java:1802)
> at
> java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1751)
> at
> java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:477)
> at
> org.codehaus.groovy.control.CompilerConfiguration.<init>(CompilerConfiguration.java:429)
> at
> org.codehaus.groovy.control.CompilerConfiguration$1.<init>(CompilerConfiguration.java:135)
> at
> org.codehaus.groovy.control.CompilerConfiguration.<clinit>(CompilerConfiguration.java:135)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:159)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:183)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:139)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2204)
> at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2188)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1449)
> at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1429)
> Caused by: java.lang.IllegalStateException: recursive invocation
> at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1443)
> at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1429)
> at
> sun.invoke.util.BytecodeDescriptor.parseMethod(BytecodeDescriptor.java:47)
> at
> sun.invoke.util.BytecodeDescriptor.parseMethod(BytecodeDescriptor.java:41)
> at
> java.lang.invoke.MethodType.fromMethodDescriptorString(MethodType.java:1067)
> at
> java.lang.invoke.BoundMethodHandle$Factory.makeCbmhCtor(BoundMethodHandle.java:818)
> at
> java.lang.invoke.BoundMethodHandle$Factory.makeCtors(BoundMethodHandle.java:763)
> at
> java.lang.invoke.BoundMethodHandle$SpeciesData.initForBootstrap(BoundMethodHandle.java:361)
> at
> java.lang.invoke.BoundMethodHandle$SpeciesData.<clinit>(BoundMethodHandle.java:426)
> at
> java.lang.invoke.BoundMethodHandle.<clinit>(BoundMethodHandle.java:830)
> at java.lang.invoke.LambdaForm.createIdentityForms(LambdaForm.java:1778)
> at java.lang.invoke.LambdaForm.<clinit>(LambdaForm.java:1833)
> at
> java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm(DirectMethodHandle.java:231)
> at
> java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:194)
> at
> java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:183)
> at java.lang.invoke.DirectMethodHandle.make(DirectMethodHandle.java:89)
> at
> java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:1660)
> at
> java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:1617)
> at
> java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(MethodHandles.java:1802)
> at
> java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1751)
> at
> java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:477)
> at
> org.codehaus.groovy.control.CompilerConfiguration.<init>(CompilerConfiguration.java:429)
> at
> org.codehaus.groovy.control.CompilerConfiguration$1.<init>(CompilerConfiguration.java:135)
> at
> org.codehaus.groovy.control.CompilerConfiguration.<clinit>(CompilerConfiguration.java:135)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:159)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:183)
> at groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:139)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2204)
> at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2188)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1449)
> at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1429)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)