2017-02-17 2 views
1

J'ai un projet java avec mille testsMaven construire échec lors de l'exécution des tests en raison de l'accident machine virtuelle Java

Quand je lance les tests, il se termine comme suit:

$ mvn surefire:test 
. . . 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 01:49 h 
[INFO] Finished at: 2017-02-17T06:29:55-05:00 
[INFO] Final Memory: 13M/921M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-cli) on project Mine: ExecutionException; nested exception is java.util.concurrent.ExecutionException: java.lang.RuntimeException: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? 
[ERROR] Command was/bin/sh -c cd /home/projects/mine && /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el7_3.x86_64/jre/bin/java -jar /home/projects/mine/target/surefire/surefirebooter5661758071622971420.jar /home/projects/mine/target/surefire/surefire7221142682471689181tmp /home/projects/mine/target/surefire/surefire_96350455888867423114tmp 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

Ma configuration Maven est la suivante:

$ mvn -version 
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T16:10:27-04:00) 
Maven home: /opt/maven 
Java version: 1.7.0_131, vendor: Oracle Corporation 
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el7_3.x86_64/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux", version: "3.10.0-514.6.1.el7.x86_64", arch: "amd64", family: "unix" 

J'ai essayé de mettre à jour ou Maven tests réexécution avec option -X mais n'a pas trouvé quelque chose de spécial. Une idée de comment déboguer/aborder ce problème ??

Mise à jour Il s'avère que le problème était lié à l'utilisation d'une version plus récente d'un code natif. J'ai dû remplacer les fichiers .so fichiers pour une version plus ancienne lib pour résoudre le problème.

+0

Concur avec @khmarbaise. Essayez de mettre à jour la version du plugin, 2.16 est très ancien (2013!) Et beaucoup de corrections ont été faites depuis. Peut résoudre le problème entièrement, ou au moins vous donner plus d'indices quant à la vraie nature du problème. – user944849

+0

ce n'est pas la version plugin le problème car mes collègues qui travaillent sur le même projet n'ont pas ce problème. – bachr

+0

Ok, commencez avec un repo local vide sur la machine ayant le problème. Un ou plusieurs des artefacts pourraient être corrompus, j'ai déjà vu cela auparavant. – user944849

Répondre

0

Essayez avec ceci dans votre prise maven. Peut-être votre cas de test ont besoin de beaucoup de mémoire afin de modifier cela si passe encore ce crash

<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine> 

Et à la fin ressemblera à ceci

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.x</version> 
    <configuration> 
     <forkMode>once</forkMode> 
    <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine> 
    </configuration> 
</plugin> 
+1

Ne pas utiliser ces anciennes versions de [maven-surefire-plugin] (https://maven.apache.org/surefire/maven-surefire-plugin/) – khmarbaise

+0

MY bad ajouté un 2.x pour ne pas dérouter les gens – Gatusko

+0

I déjà essayé avec des options Maven pour augmenter la mémoire, mais cela n'a pas aidé – bachr