[ 
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)

Reply via email to