Excepción de ejecución de pruebas de osx maven: java.lang.OutOfMemoryError lanzado desde UncaughtExceptionHandler en el hilo "main"

He estado tratando de ejecutar en Mac un proyecto Maven listo que funciona en Linux. Cuando llamemvn clean install ejecuta una parte de las pruebas y luego recibo el siguiente error:

Excepción en el hilo "principal" Excepción: java.lang.OutOfMemoryError arrojado desde el UncaughtExceptionHandler en el hilo "principal"

He visto muchas preguntas sobre el error de generación de Perm solucionado al agregarMAVEN_OPTS a variables ambientales. En este momento tengo la siguiente variable ambiental en mi sistema:

MAVEN_OPTS = "- Xmx4096m -XX: MaxPermSize = 4096m"

Cuando llamemvn help:system Puedo ver estas opciones que aparecen en la configuración.

El proyecto utiliza Robolectric para fines de prueba y (la mayoría de las veces, pero no siempre) imprime las siguientes líneas antes de lanzar la excepción:

[DEPURACIÓN] ********************* ** GC'ed SdkEnvironment reutilizado!

[ERROR] no pudo cargar org.robolectric.internal.ParallelUniverse en org.robolectric.bytecode.AsmInstrumentingClassLoader@300abe53

En el monitor de actividad puedo ver un proceso de Java cobrar vida cuando comienzo las pruebas. Su uso de memoria alcanza 1.4 ~ 1.5GB antes de que se lance la excepción.

¿Qué más debo hacer para que funcione? ¡Gracias por tu ayuda!

EDITAR después de agregar las opciones de memoria para asegurar el complemento de disparo:

           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.16</version>
               <configuration>
                   <argLine>-Xmx2048m -XX:MaxPermSize=2048m</argLine>
               </configuration>
           </plugin>

y corriendomvn clean install -e -X Obtuve el siguiente seguimiento de pila:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project android: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test failed: There was an error in the forked process
[ERROR] java.lang.OutOfMemoryError: PermGen space
[ERROR] at java.lang.ClassLoader.defineClass1(Native Method)
[ERROR] at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
[ERROR] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[ERROR] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[ERROR] at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
[ERROR] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[ERROR] at org.apache.maven.surefire.report.SmartStackTraceParser.getMinimalThrowableMiniMessage(SmartStackTraceParser.java:166)
[ERROR] at org.apache.maven.surefire.report.SmartStackTraceParser.getString(SmartStackTraceParser.java:151)
[ERROR] at org.apache.maven.surefire.report.PojoStackTraceWriter.smartTrimmedStackTrace(PojoStackTraceWriter.java:61)
[ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:328)
[ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:312)
[ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.toString(ForkingRunListener.java:258)
[ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.testError(ForkingRunListener.java:132)
[ERROR] at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:162)
[ERROR] at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
[ERROR] -> [Help 1]

Eso es con 2 GB de memoria para el éxito y 4 GB para Maven.

Respuestas a la pregunta(1)

Su respuesta a la pregunta