Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
2.1.6
-
None
-
None
-
None
-
Linux (Fedora 18 x86_64)
Description
The following line freezes Groovy on openjdk 1.7.0_25, causing 100% CPU load:
ResourceBundle foo = ResourceBundle.getBundle('foo');
It is working fine with openjdk 1.7.0_9. I could reproduce this bug with various Groovy versions from 1.8 up to 2.1.6, and on two different Fedora 18 machines.
A java dump delivered this thread stack trace:
"main" prio=10 tid=0x00007f1014008000 nid=0xd74 runnable [0x00007f101a0cf000] java.lang.Thread.State: RUNNABLE at sun.reflect.Reflection.getCallerClass0(Native Method) at sun.reflect.Reflection.getCallerClass(Reflection.java:68) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.reflection.ReflectionUtils.getCallingClass(ReflectionUtils.java:117) at org.codehaus.groovy.reflection.ReflectionUtils.getCallingClass(ReflectionUtils.java:91) at org.codehaus.groovy.reflection.ReflectionUtils.getCallingClass(ReflectionUtils.java:78) at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.getBundle(DefaultGroovyStaticMethods.java:231) at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.getBundle(DefaultGroovyStaticMethods.java:215) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:51) at org.codehaus.groovy.runtime.metaclass.NewStaticMetaMethod.invoke(NewStaticMetaMethod.java:51) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:148) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at Test.run(Test.groovy:1) at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:257) at groovy.lang.GroovyShell.run(GroovyShell.java:220) at groovy.lang.GroovyShell.run(GroovyShell.java:150) at groovy.ui.GroovyMain.processOnce(GroovyMain.java:588) at groovy.ui.GroovyMain.run(GroovyMain.java:375) at groovy.ui.GroovyMain.process(GroovyMain.java:361) at groovy.ui.GroovyMain.processArgs(GroovyMain.java:120) at groovy.ui.GroovyMain.main(GroovyMain.java:100) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:106) at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
Major priority because this bug potentially affects any multilingual Groovy project.
Attachments
Issue Links
- relates to
-
GROOVY-6279 getCallerClass will be removed from JDK
- Closed