La redefinición falló con el error 62 al intentar perfilar una aplicación

2 minutos de lectura

Avatar de usuario de Suzan Cioc
Suzan Cioc

Si trato de perfilar la aplicación (que se prepara en Eclipse, pero se ejecuta desde la línea de comandos) con la ayuda de VisualVM, aparece el siguiente mensaje de error

ingrese la descripción de la imagen aquí

Al mismo tiempo, la carpeta del proyecto se ensucia con archivos de clase recién creados. Aunque ya existen en target/classes.

La estructura del proyecto es la de Maven, es decir, hay un foder target/classes en el directorio actual y uso el siguiente comando para ejecutar la aplicación

java -Xmx16g -cp target/classes tests.Runner01

¿Como arreglar?

ACTUALIZAR

Lo mismo ocurre con el proyecto java convencional también.

Debajo, la imagen de los archivos de clase poblados, que se encuentran donde no deberían

ingrese la descripción de la imagen aquí

Aquí https://netbeans.org/bugzilla/show_bug.cgi?id=191297 aparece una solución alternativa: ejecute la aplicación perfilada con -Xverify:none

  • El error correcto es este: netbeans.org/bugzilla/show_bug.cgi?id=245522 y bugs.openjdk.java.net/browse/JDK-8050485. El problema ya está solucionado en JDK 7u71 y JDK 8u31.

    – Tomás Hurka

    12 de noviembre de 2014 a las 8:12

  • Me encontré con este problema con la versión de Java “1.8.0_121”

    – ezzadeen

    8 de marzo de 2017 a las 18:37


  • @ezzadeen ¿Resolviste este problema? Yo también estoy recibiendo lo mismo.

    –Pritesh Kanthaliya

    6 de abril de 2017 a las 6:44

  • El problema aún existe en 1.8.0_131

    – Brian Knoblauch

    7 julio 2017 a las 15:10

  • aun en 1.8.0_162, por poner un poco de sal

    – benez

    6 de febrero de 2018 a las 17:53

avatar de usuario de shmosel
smosel

De acuerdo a esto Problema de GitHub, se ha arreglado. Actualizando a versión 1.4 resolvió el problema para mí.

  • Gracias por señalar esto. Me encontré con este problema hoy y actualicé VisualVM. Ahora funciona.

    – Torsten Ojaperv

    8 de febrero de 2018 a las 13:03

Si está utilizando Eclipse, vaya a Ejecutar/Depurar configuración. Seleccione su aplicación del lado izquierdo y haga clic en Argumentos.

Aquí verá dos cuadros de texto.

1. Program Arguments
2. VM Arguments

En los argumentos de VM, ingrese los siguientes comandos.
-Xverificar: ninguno

Haga clic en Aplicar y luego en Ejecutar/Depurar.

La solución que encontré usando IntelliJ es compilar en código de bytes Java 1.6. La opción de menú para hacerlo es: Archivo – Estructura del proyecto, luego establezca el nivel de idioma del proyecto en 6.

Esto le impide utilizar funciones de Java que solo están disponibles con Java 7 u 8.

Para IntelliJpuede establecer -Xverify:none como sigue:

Correr > Editar configuraciones… > Modificar opciones (Alt + M) > Agregar opciones de máquina virtual.

Esto debería revelar un nuevo campo. Opciones de máquina virtuala la que puedes escribir -Xverify:none.

¿Ha sido útil esta solución?