You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@groovy.apache.org by William wang <su...@gmail.com> on 2017/03/09 06:56:48 UTC

Groovy 2.4.9 under Android has java.lang.StackOverflowError

*reproduce Environmen:*
android studio:
compileSDKversion:*API 18*: Android 4.3 (Jelly Bean)
minSdk version*:API 18*: Android 4.3 (Jelly Bean)
Build tool vesion:25.02
Emulator or Mobile phone:google Nexus with android 4.3
main activity is *MainActivity.groovy*,just simple code *not use
@CompileStatic*

@Override
public void OnCreate(Bundle bundle)
{
super.OnCreate(bundle);

setContentView(R.layout.myhome);

}
run app  this is work.

 if change compileSDKVersion to:API 25(or higher not same as minSdkVersion)
: Android 7.1.1 (Nougat)
get app revision  and run the app crash get error,but this app work on
android level bigger than *API 18*:

























































*03-09 14:12:42.595 12449-12449/? E/AndroidRuntime: FATAL EXCEPTION:
main
java.lang.StackOverflowError
at
groovy.lang.MetaClassImpl.getSuperMethodWithCaching(MetaClassImpl.java:1349)
at
groovy.lang.MetaClassImpl.getMethodWithCaching(MetaClassImpl.java:1295)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1065)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
at java.lang.reflect.Method.invokeNative(Native
Method)                                                       at
java.lang.reflect.Method.invoke(Method.java:525)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at
test.client.activity.MainActivity.onCreate(MainActivity.groovy:36)
    at java.lang.reflect.Method.invokeNa03-09 14:12:42.626 12449-12449/?
D/dalvikvm: GC_FOR_ALLOC freed 385K, 8% free 10727K/11616K, paused 27ms,
total 27ms*