miércoles, 3 de septiembre de 2014

Cuando JVM Crash en el Terminal y nos indica SIGSEGV

Cuando obtenemos este error y no se ejecuta el Eclipse, Pentaho Data Integrator desde el terminal o el lanzador, debido a que el Java Virtual Machine ha sufrido un problema y nos genera el siguiente archivo LOG en la carpeta del data-integrator

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f993cc592a1, pid=17446, tid=140298531747584
#
# JRE version: 6.0_45-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libsoup-2.4.so.1+0x6c2a1]  short+0x11
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x00007f99c8008000):  JavaThread "main" [_thread_in_native, id=17447, stack(0x00007f99cc15b000,0x00007f99cc25c000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000000

Tendremos que realizar el siguiente proceso que se describe a continuación:

1. Descargar el archivo: swt.jar, que debemos de copiarlo en la siguiente ruta:
    /data-integration/libswt/osx64 (ANTES RENOMBRAR EL ARCHIVO EXISTENTE)

2. Descargar el archivo del mes de febrero de esta dirección:
 
    http://jira.pentaho.com/browse/PDI-10966#, que pesa 1.83 MB.

3. Agregar en el archivo spoon.sh la siguiente lines:

Para corregir ello se debe de agregar la siguiente linea:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

Se debe de colocar en esta parte del archivodel script spoon.sh:
OPT="$OPT $PENTAHO_DI_JAVA_OPTIONS -Djava.library.path=$LIBPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT -DKETTLE_JNDI_ROOT=$KETTLE_JNDI_ROOT"
Una vez agregado, se vera de la siguiente manera:
OPT="$OPT $PENTAHO_DI_JAVA_OPTIONS -Djava.library.path=$LIBPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT -DKETTLE_JNDI_ROOT=$KETTLE_JNDI_ROOT -Dorg.eclipse.swt.browser.DefaultType=mozilla"
4. Agregar en el archivo PROFILE de la carpeta /etc/ lo siguiente:

JAVA_HOME=/opt/execute/jdk1.6.0_45

-----------------------------------------------------------------------------------------------
Agregar la opción: JAVA_OPTS, para ejecutarse sin problemas el JVM
-----------------------------------------------------------------------------------------------
JAVA_OPTS="-Xms256m -Xmx1050m -XX:MaxPermSize=256m"

CATALINA_HOME=/opt/execute/apache-tomcat-6.0.37
JRE_HOME=/opt/execute/jdk1.6.0_45/jre
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

export JAVA_HOME

-----------------------------------------------------------------
Colocar la variable JAVA_OPTS para exportarla
-----------------------------------------------------------------
export JAVA_OPTS

export JRE_HOME
export CATALINA_HOME
export PATH

Para compilar el archivo profile en la carpeta /etc/, debera de digitar lo siguiente: source profile

Para el caso de ECLIPSE, colocar lo siguiente en eclipse.ini al final del archivo

-Dorg.eclipse.swt.browser.DefaultType=mozilla

y ejecutar el ECLIPSE, el cual correrá correctamente.  En caso de utilizar el eclipse SPRINGSOURCE TOOL SUITE deberá de colocarse en el archivo STS.ini y con ello se solucionará el error al ejecutarse.

Asi mismo el PENTAHO DATA INTEGRATOR y se ejecutará sin dificultades.

Nota: Pueden revisar esta pagina para configurar el Eclipse:
           http://docs.ubmatrix.com/webhelp/XPE/3_5/Configuration/configuring_the_jvm.htm