Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.0-beta-4
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:Windows, IBM JDK 1.4.1 Cygwin or cmd.exe
Description
Running groovy or groovyConsole with the ibm 1.4.1 jdk produces the following exception:
Exception in thread "main" java.lang.ClassCircularityError: groovy/lang/Closure$WritableClosure
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:920)
at java.lang.ClassLoader.loadClass(ClassLoader.java:565)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:136)
at org.codehaus.classworlds.ClassRealmImpl.loadClassDirect(ClassRealmImpl.java:262)
at org.codehaus.classworlds.ClassRealmImpl.loadClass(ClassRealmImpl.java:239)
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:494)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:146)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$500(URLClassLoader.java:107)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:844)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:369)
at java.lang.ClassLoader.loadClass(ClassLoader.java:562)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:136)
at org.codehaus.classworlds.ClassRealmImpl.loadClassDirect(ClassRealmImpl.java:262)
at org.codehaus.classworlds.ClassRealmImpl.loadClass(ClassRealmImpl.java:239)
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:494)
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:920)
at java.lang.ClassLoader.loadClass(ClassLoader.java:565)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:136)
at org.codehaus.classworlds.ClassRealmImpl.loadClassDirect(ClassRealmImpl.java:262)
at org.codehaus.classworlds.ClassRealmImpl.loadClass(ClassRealmImpl.java:239)
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:494)
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:920)
at java.lang.ClassLoader.loadClass(ClassLoader.java:565)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:136)
at org.codehaus.classworlds.ClassRealmImpl.loadClassDirect(ClassRealmImpl.java:262)
at org.codehaus.classworlds.ClassRealmImpl.loadClass(ClassRealmImpl.java:239)
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:494)
at java.lang.Class.forName1(Native Method)
at java.lang.Class.forName(Class.java:176)
at groovy.lang.MetaClassRegistry.class$(MetaClassRegistry.java:83)
at groovy.lang.MetaClassRegistry.<init>(MetaClassRegistry.java:83)
at groovy.lang.MetaClassRegistry.<init>(MetaClassRegistry.java:72)
at org.codehaus.groovy.runtime.Invoker.<init>(Invoker.java:83)
at at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:82).null(Unknown Source)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:61)
at groovy.lang.Binding.<init>(Binding.java:62)
at groovy.lang.GroovyShell.<init>(GroovyShell.java:97)
at groovy.lang.GroovyShell.main(GroovyShell.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at org.codehaus.classworlds.Launcher.launchStandard(Launcher.java:410)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:344)
at org.codehaus.classworlds.Launcher.main(Launcher.java:474)
Issue Links
- is related to
-
CONTINUUM-122
IBM'JRE : java.lang.ClassCircularityError
-
Temporary work around is to add -Xverify:none to the Java command line. For the Un*x shell script it looks like this:
$ diff -c groovysh groovyte
***************
-Dclassworlds.conf="$CLASSWORLDS_CONF" \
-Dgroovy.home="$GROOVY_HOME" \
-Dtools.jar="$TOOLS_JAR" \
+ -Xverify:none \
org.codehaus.classworlds.Launcher "$@"
fi
$
and on Windows you can set the Java options environment variable before running groovysh.bat, like this:
set JAVA_OPTS=-Xverify:none
-
-
- groovysh Fri Mar 12 17:20:21 2004
- groovyte Thu Mar 25 09:11:37 2004
***************
- 136,140 ****
- 136,141 ----
-Dclassworlds.conf="$CLASSWORLDS_CONF" \
-Dgroovy.home="$GROOVY_HOME" \
-Dtools.jar="$TOOLS_JAR" \
+ -Xverify:none \
org.codehaus.classworlds.Launcher "$@"
fi
$
and on Windows you can set the Java options environment variable before running groovysh.bat, like this: set JAVA_OPTS=-Xverify:none