Debugging just in time compiler (JIT) failures on Linux for V3.5 and V4.0

Technote (FAQ)
Problem
When trying to determine the nature of a JIT failure on Linux®, use the attached script to start WebSphere® Application Server.
Cause
Failure converting Java™ bytecode to machine code resulting in a WebSphere Application Server failure.
Solution
To debug JIT failures, you must run multiple tests and gather log files from each test.
  1. Copy the attached startJitLinux.sh file to $WAS_HOME/bin (/opt/WebSphere/AppServer/bin)
  2. Modify the startJitLinux.sh file with the following changes:
    • Determine what Application Server you are debugging and modify the script. The script is set to debug server1.
    • Create the following directory /opt/JitDebug, or modify the script to reflect another location.
  3. Run the startJitLinux.sh script, select an option and determine if the crash still occurs.
  4. For each crash, run gdb against the core file, and provide the requested files, then continue with the next test.
    gdb -x gdb_commands.txt JAVA_PATHCORE_PATH> gdbtrace_out.txt

    where:
    • JAVA_PATH is /opt/WebSphere/AppServer/java/jre/bin/exe/java
    • CORE_PATH is the path/filename for the core file
    • gdb_commands.txt is attached to this document.
    • For more information on gdb_commands.txt , refer to: MustGather: Crash on Linux
  5. If running an option does not produce a failure, stop and contact IBM® Support. Send the following files for each test:
    • gdbtrace_out.out
    • $WAS_HOME/bin/runhistory
    • $WAS_HOME/bin/start.jit.log
    • All files from /opt/JitDebug











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Java SDK
Operating system(s): Linux
Software version: 3.5, 4.0
Software edition: Edition Independent
Reference #: 1162839
IBM Group: Software Group
Modified date: 2004-03-24