Using the JITC_COMPILEOPT=COMPILING variable to skip a failing method
 Technote (troubleshooting)
 
Problem(Abstract)
Steps you can take to prevent a Just-In-Time (JIT) compiler crash by identifying the method in which the JIT library is crashing. This is applicable to IBM® Java™ developer kits only.
 
Resolving the problem
If you determine that the Java virtual machine (JVM) crash you are experiencing is caused by a crash in the JIT library, and you are unable to determine the cause, try the following actions:
  1. Expand Servers on the administrative console.

  2. Click Application Servers, then click the application server that is experiencing the JVM crash.

  3. Click Process Definition, then Environment Entries.

  4. Click New and add JITC_COMPILEOPT=COMPILING as a new environment variable.

  5. Click OK or Apply to save the setting.

  6. Stop and restart the application server.

    With JITC_COMPILING set to COMPILING, information similar to the following is logged in native_stderr.log file for the application server, indicating that a class or method is being compiled:

    Compiling   {com/ibm/mq/jms/MQMessageReference}{setJMSMessage}
    0x184DE9CC  {com/ibm/mq/jms/MQMessageReference}{setJMSMessage}
    Compiling   {com/ibm/ejs/util/cache/BackgroundLruEvictionStrategy}{alarm}
    0x184E1074  {com/ibm/ejs/util/cache/BackgroundLruEvictionStrategy}{alarm}
    Compiling   {com/ibm/mq/MQMsg2}{writeToWithoutConversion}
    0x184DF1F4  {com/ibm/mq/MQMsg2}{writeToWithoutConversion}

  7. Identify the failing class and method, then look at one of the previous five or six class methods prior to the JVM crash.

  8. Skip the last five methods listed in the stderr file. Note that for each method that is JIT-compiled, two lines are present in the stderr output.

    For example:

    Compiling {com/ibm/mq/MQMsg2}{writeToWithoutConversion}
    0x184DF1F4 {com/ibm/mq/MQMsg2}{writeToWithoutConversion}


Skipping methods on Windows® systems
The separator to use between the Java-compile option keywords COMPILING and SKIP is the path separator character for the operating system. For Windows systems, this separator is a semi-colon ( ; ). Set the value of the JITC_COMPILEOPT variable to

COMPILING;SKIP{directory/className}{methodName}

To skip the last three methods in the sample output listed previously, change the value of the JITC_COMPILEOPT variable to :

COMPILING;SKIP
{com/ibm/mq/MQMsg2}{writeToWithoutConversion}{com/ibm/ejs/util/cache/BackgroundLruEvictionStrategy}{alarm}{com/ibm/mq/jms/MQMessageReference}{setJMSMessage}




Skipping methods on UNIX® systems
The separator to use between the keywords COMPILING and SKIP is the path separator character for the operating system. For UNIX operating systems, such as AIX® and Linux®, the path separator is ":". For UNIX operating systems, change the value of the JITC_COMPILEOPT variable to:

COMPILING:SKIP{directory/className}{methodName}

To skip the last three methods in the sample output listed previously, change the value of the JITC_COMPILEOPT variable to:

COMPILING:SKIP
{com/ibm/mq/MQMsg2}{writeToWithoutConversion}{com/ibm/ejs/util/cache/BackgroundLruEvictionStrategy}{alarm}{com/ibm/mq/jms/MQMessageReference}{setJMSMessage}

This change causes the JIT compiler to skip JIT compiling for the named methods. Wildcards are supported in the value. You can replace methodName with * to skip all methods for a class.

The value for JITC_COMPILEOPT must not contain spaces.

To skip more than one method, you can add class and method names to the list of methods to skip. Use no spaces or separator characters between names.
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers WebSphere Application Server for z/OS Not Applicable
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Current web document: swg21137730.html
Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java SDK
Operating system(s): z/OS
Software version: 5.1
Software edition:
Reference #: 1137730
IBM Group: Software Group
Modified date: Jun 11, 2007