2012-09-25 20 views
11

Mientras se ejecuta de pruebas unitarias excepción siguiente ocurre:Los problemas con el plugin de éxito seguro: - "La máquina virtual en forma de horquilla terminados sin decir adiós adecuadamente VM accidente o System.exit llama.?"

org.apache.maven.lifecycle.LifecycleExecutionException: 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 ? 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:600) 
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 

¿Alguna sugerencia?

+0

Hmmm ... ¿Se produjo un bloqueo de VM o System.exit? –

+1

¿Podría ser un problema de memoria?He estado teniendo este problema por un tiempo en un servidor de Jenkins y no he podido identificar la causa. – mmalmeida

+0

@mmalmeida: si se tratara de un problema de memoria, es probable que aparezca en otras cosas, y es muy probable que se mencione en los mensajes de registro en los registros del sistema; p.ej./var/log/messages –

Respuesta

6

¿Alguna sugerencia?

El mensaje de error de la excepción probablemente explica lo que está sucediendo. Una de las pruebas unitarias o bien ha

  • llamados System.exit(), o
  • roto el arnés de prueba de unidad, o
  • hecho algo que se ha estrellado la JVM en el que se estaba ejecutando.

No podemos decir cuál fue.

(Imagino que se informa el problema porque la JVM de Maven esperaba que la JVM hija escribiera los resultados de la prueba unitaria en su salida estándar. Lo que le devolvió al niño le faltaba el mensaje (o lo que fuera) que decía que las pruebas unitarias habían terminado. Es posible que la causa raíz sea diferente de las alternativas sugeridas, pero lo dudo, y es inútil especular ...)

Posiblemente hay más información en el archivo de registro para el prueba de unidad ofensiva. Verifíquelos.

0

Esto puede tener que ver con los derechos de administrador. Estaba enfrentando el mismo problema al ejecutar la compilación mvn clean install de Cygwin.

Ahora cada vez que construyo inicio cygwin como "Ejecutar como administrador" y el problema está resuelto.

4

Estaba enfrentando el mismo problema al ejecutar maven goal "package". El problema se resolvió cuando ejecuté el objetivo "limpiar" antes de ejecutar "paquete"

2

Estaba teniendo este mismo problema SÓLO en jenkins como se informó en la respuesta aceptada y perdí una hora para darme cuenta de que el problema era que los jenkins El nombre del trabajo tenía un espacio en él, esto estaba haciendo que algo (todavía no sé qué) en la invocación del complemento seguro se vuelva loco ya que el nombre del trabajo es la carpeta dentro del espacio de trabajo de jenkins donde todo está.

Por lo tanto, para ser claros, Jenkins no tiene nada que ver con el problema, sólo lo vi en Jenkins, porque sólo hay que tenía un espacio en mi camino

espero que esto ayude a alguien más. Esto estaba bajo seguro 2.14.1 y 2.16.

+2

Igual aquí, el error ocurrió solo en Jenkins de repente un día. Configuré mi trabajo jenkins para usar "maven 3" no como antes "legado de maven 2". Eso resolvió este problema. – matthaeus

3

He tenido el mismo problema. Resultó que actualicé mis libs sin actualizar mi versión java, y tenía un poco demasiado nuevo servlet.jar. He encontrado siguiente mensaje en los registros, antes de la 'VM bifurcada bla excepción':

Caused by: java.lang.UnsupportedClassVersionError: javax/servlet/ServletRequest : Unsupported major.minor version 51.0 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) 
at java.lang.Class.getMethod0(Class.java:2670) 
at java.lang.Class.getMethod(Class.java:1603) 
at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:64) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:59) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:54) 
at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:51) 
at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:97) 
at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:194) 
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:92) 

Actualización de JVM ayudaba.

Cuestiones relacionadas