Eric Milles created GROOVY-9392:
-----------------------------------

             Summary: 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


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)

Reply via email to