2010-03-30 16 views
25

estoy ejecutando un caso de prueba JUnitFatal error de entorno de ejecución Java

tengo el siguiente error,

A fatal error has been detected by the Java Runtime Environment: 

Internal Error (classFileParser.cpp:3174), pid=2680, tid=2688 

    Error: ShouldNotReachHere() 

    JRE version: 6.0_18-b07 

    Java VM: Java HotSpot(TM) Client VM (16.0-b13 mixed mode windows-x86) 

Puede cualquier organismo favor sugerir la solución para resolver

+0

Usted podría tratar de JDK 6 Update 20. Al igual que en –

+0

[No se puede ejecutar JUnit 4 caso de prueba en Eclipse] (http://stackoverflow.com/questions/2172152/ cant-run-junit-4-test-case-in-eclipse) – idbrii

Respuesta

3

Tendrá Tomar esto con Sun: parece un error de JVM para mí. Si es reproducible, debería poder ejecutar Java de manera tal que genere más detalles (por ejemplo, -verbose, etc.). Si puede reducirlo a un caso mínimo que desencadena el error (¡el código fuente siempre ayuda!), Eso también va un largo camino.

http://java.sun.com/developer/technicalArticles/bugreport_howto/index.html

http://bugreport.sun.com/bugreport/crash.jsp

Mientras tanto, es posible que desee probar con una implementación JVM diferente (tal vez incluso un nivel de parches más antigua del JRE de Sun).

0

Esto podría ser un error de JVM; ver la respuesta de @ Zac. Pero también podría ser que su caso de prueba junit esté causando la carga de un archivo bytecode dañado. Intente reconstruir todos sus archivos .class, y si eso no soluciona el problema intente volver a analizar las bibliotecas externas de las que depende su código.

+0

¿Un código de byte dañado? Causando un bloqueo de JVM? ¿Has visto realmente eso? –

+0

No. Pero es plausible, y no es tan difícil verificarlo ... mientras espera que Sun responda. –

0

¿Se ejecuta en una plataforma compatible (Windows, una de las pocas versiones de Linux?) Si no, es el primero en intentarlo.

Si está en una plataforma compatible, baje a _17 y vea si eso le ayuda.

Luego realice un informe de fallas a Sun y espere que lo arreglen algún día (a menos que desee darles dinero para arreglarlo más rápido).

1

Otra posible explicación: falla de hardware. Se descarta si puedes reproducir el error en diferentes máquinas.

1

Me resolvieron mediante

  • Quit eclipsar
  • Eliminar la bin y Gen directorios en su proyecto
  • inicio del eclipse
  • reconstruir su proyecto
44

I tiene el mismo problema, pero con mucha búsqueda en Google ¡Encontré la respuesta! See this page

Cita desde el enlace:


# An unexpected error has been detected by Java Runtime Environment: 
# 
# Internal Error (classFileParser.cpp:2924), pid=5364, tid=6644 
# Error: ShouldNotReachHere 
  1. Esto se debe a que estamos utilizando JUnit aplicación trozo de Android. Vaya a Ejecutar -> Ejecutar como -> Ejecutar configuraciones de nuevo y en la configuración de JUnit creada recientemente Entradas de Bootstrap de Classpath eliminar biblioteca Android
  2. Luego Agregar biblioteca, utilizando Avanzado ...botón y añadir Biblioteca Sistema JRE y JUnit 3
  3. Aplicar y ejecutar

probar esto, que trabajó para mí.

+1

Esto funcionó para mí al menos ................ Gracias ........... +1 a usted – viv

+0

¡Gracias por la pista! ¡Perfecto! – guerda

+0

Perfecto. Ahora la pregunta es por qué se agrega en primer lugar. – pitx3

1

Me solución recientemente encontrado para este problema que fue publicada por devdanke:.

"A partir del 11-julio-2010 y Android 2.1, el trabajo en torno a que uso es para segregar las pruebas en diferentes clases Cualquier prueba (s) que no llaman a ninguna API de Android vaya a sus propias clases. Para cada una de estas clases, elimino la referencia a Android en sus configuraciones de ejecución, pestaña Classpath ".

El problema de tenerlo configurado clase por clase no es posible ejecutar todas las pruebas en el proyecto. Un mejor enfoque es crear 2 proyectos de prueba con diferentes conjuntos de bibliotecas.

proyecto

estándar Android JUnit Test puede crearse siguiendo link, y la clase de prueba de ejemplo se parece a:

import android.test.AndroidTestCase; 
public class ConverterTest extends AndroidTestCase { 
    public void testConvert() { 
     assertEquals("one", "one"); 
    } 
} 

Entonces proyecto JUnit Test se puede convertir de proyecto Android de prueba JUnit mediante la eliminación de la Biblioteca Android de trayectoria de la estructura del proyecto, y la adición de JRE System Library, y la biblioteca JUnit 3, y la clase de prueba de muestra se ve así:

import junit.framework.TestCase; 
public class ConverterTest extends TestCase{ 
    public void testConvert() { 
     assertEquals("one", "one"); 
    } 
} 
-1

Otra posible razón (para futuras referencias): había copiado accidentalmente en una método principal en mi código, haciendo que Eclipse reconozca el proyecto como una aplicación java, y así lo inicie con esa configuración.

Para resolverlo entré en Ejecutar> Configuraciones de ejecución ... y luego cambié de mi supuesta principal en la aplicación Java a la actividad principal de mi aplicación de Android simplemente seleccionándola en la columna de la izquierda.

1

Tuve un problema similar, descubrí que era porque había generado una actividad nueva con una entrada principal []. Una vez que eliminé el código principal [] de la nueva actividad templatye, el error desapareció.

YMMV

2

Ir a Ejecutar como -> Ejecutar configuraciones ... y seleccione la configuración que está utilizando.
Seleccione la ficha Ruta de clase y seleccione BootStrap Entradas.
Haga clic en Advance, luego Agregue la biblioteca y seleccione JRE System Library.
Haga que aparezca y hágalo la primera entrada en la lista BootstrapEntries.

Aplicar y ejecutar ...

0

Ir a Ejecutar como -> Ejecutar Configuraciones-> classpath-> Bootstrap entradas Haga clic en Advance, a continuación, añadir Biblioteca y seleccione Biblioteca Sistema JRE como una primera entrada. Aplicar y ejecutar ...

0

No estoy seguro de si fue capaz de llegar a la solución de su problema o no, pero su pregunta simplemente apareció cuando estaba buscando la solución para el mismo problema que estoy enfrentando. Y obtuve una solución de la pila en sí, así que pensé compartir un enlace contigo si eso te ayuda de alguna manera. El enlace es de la siguiente manera:

Can't run JUnit 4 test case in Eclipse Android project

Cuestiones relacionadas