Search code examples
sonarquberobolectric

java.lang.OutOfMemoryError: Failed to load XXX.jar


com.gmxx.cn.navigation.viewmodel.mainmap.GmpiCruiseViewModelTest > testPropertyListener FAILED
    java.lang.OutOfMemoryError: Failed to load /var/workspace/MISC.GMXX.Gradle.Apps.SonarQube.Scan.OnDemand/vendor/gm/packages/apps/GMXXX/.robolectric-dependencies/android-all-10-robolectric-5803371.jar
        at org.robolectric.shadows.ShadowArscApkAssets9.nativeLoad(ShadowArscApkAssets9.java:267)
        at android.content.res.ApkAssets.nativeLoad(ApkAssets.java)
        at android.content.res.ApkAssets.__constructor__(ApkAssets.java:119)
        at android.content.res.ApkAssets.<init>(ApkAssets.java)
        at android.content.res.ApkAssets.loadFromPath(ApkAssets.java:64)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.robolectric.util.ReflectionHelpers.callStaticMethod(ReflectionHelpers.java:343)
        at org.robolectric.internal.bytecode.ShadowImpl.directlyOn(ShadowImpl.java:56)
        at org.robolectric.shadow.api.Shadow.directlyOn(Shadow.java:61)
        at org.robolectric.shadows.ShadowArscApkAssets9.lambda$loadFromPath$1(ShadowArscApkAssets9.java:191)
        at org.robolectric.shadows.ShadowArscApkAssets9.getFromCacheOrLoad(ShadowArscApkAssets9.java:152)
        at org.robolectric.shadows.ShadowArscApkAssets9.loadFromPath(ShadowArscApkAssets9.java:188)
...
        Caused by:
        java.lang.OutOfMemoryError: Java heap space

I run gradle sonar, but I had this OutOfMemoryError, the android-all-10-robolectric-5803371.jar is exist at my root project, and I have export like follow: export _JAVA_OPTIONS="-Xmx8g -XX:MaxMetaspaceSize=16g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" Is any one known this?

Thanks!!!


Solution

  • I have resolved this issue, just to increase the java heap memory like this:

    export _JAVA_OPTIONS="-Xmx16g -XX:MaxMetaspaceSize=8g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
    

    What needs attention is "_JAVA_OPTIONS"