IBM Support

Generating a core file and preparation of core file for analysis on Linux systems

Troubleshooting


Problem

Instructions for requesting and generating system core files and collecting system libraries for performance and memory problems associated with IBM® WebSphere® Application Server on a Linux® system. Gathering this information before calling IBM support will help familiarize you with the troubleshooting process and save you time.

Cause

Resolving The Problem

  • Refer to Crash on Linux produces no core or a truncated core to ensure that your Linux system is properly set up to produce a full core file.
  • For Version 8.0 and 8.5 of WebSphere Application Server - the defaults have changed to request a System core for many issues, Check the <WebSphere>/profiles/<profile name> directory for an existing core file.. The native_stderr.log file will record the requests for a system core to validate the core is produced by the issue under investigation. Then process the core file with the appropriate jextract command.
  • For Version 8.0 and 8.5 of WebSphere Application Server - you may request a system core file via the admin console in TroubleShooting -> Java Cores and Dumps -> System Dumps check mark the process to request a system core and collect and process the core files.
  • For all version of WebSphere Application Server on Linux with gdb installed :: login to the system as the userid running the WebSphere Application Server or as root, and issue
       gcore [ -o outputfile]  <WebSphere Process id>
    replace <WebSphere Process id> with the pid for the process 

  • For all versions of WebSphere ( that do not override dump agents)

    kill -6 <WebSphere Process id>   should produce a core file and end the process
    kill -11 <WebSphere Process id>  should produce a core file and end the process
  • For WebSphere Application Server 7.0 and following, wsadmin scripting may be used to request System Core files by finding the process and issuing the command : See the Knowledge Center for more information on using "generateSystemDump". A jython example for server1 would be:

    AdminControl.invoke(AdminControl.completeObjectName("type=JVM,process=server1,*"), "generateSystemDump")


  • For Memory issues or to trace some problems it may be desirable to have the WebSphere Application Server produce a system core file when an error or an event occurs. This can be setup with the use of the Xdump and Xtrace agents which are entered as generic JVM arguments.

    The IBM Java Dump Agent "system" can take a system dump on various events (http://publib.boulder.ibm.com/infocenter/java7sdk/v7r0/topic/com.ibm.java.lnx.70.doc/diag/tools/dumpagents_system.html). See Table 2 in Debugging from Dumps (http://www.ibm.com/developerworks/library/j-memoryanalyzer/#N1026B). For example, the following will create a core dump when the Example.bad method throws a NullPointerException:
    -Xdump:system:events=throw,filter=java/lang/NullPointerException

    The IBM Java Trace Agent is covered here http://www-01.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.lnx.71.doc/diag/tools/trace_options_trigger.html?lang=en. The following example JVM argument produces a system dump when the Example.trigger() method is called:
    ‑Xtrace:maximal=mt,trigger=method{com/ibm/example/Example.trigger,sysdump}
  • Processing Core Files After core files are generated, they will need to be processed to add information about the system producing the system cores and add system library information to the collection. Perform one of the following steps for the appropriate version of WebSphere Application Server. See the Technote on Jextract for more information http://www-01.ibm.com/support/docview.wss?uid=swg21577379

    For releases of V6.1 and later
     execute one of the following commands
    jextract [CORE_PATH]
    32bit JDK servers and 64bit JDK servers not using compressed references (max heap >26G)

    jextract -J-Xcompressedrefs [CORE_PATH]
    64bit JDK servers with compressed references

            the output filename for jextract defaults to 'corefile'.zip

    For releases of V6.0 and V5.1:
     jextract -o core.sdff [CORE_PATH]
           core.sdff is the output file
           CORE_PATH is the path to the core file




    Files to be collected: The System Core files will be as large as the process size on the operating system. After processing by jextract - the size will be greatly compressed. In cases where jextract is not possible, please compress the files before uploading. In all cases please collect
    • Any javacore*.txt files produced
    • all core and core zip files ( these will normally include date stamps and process ids
    • core.sdff
    • core file
    • all WebSphere Application Server logs for the process
    • /var/log/messages


Follow the instructions at Exchanging information with IBM Technical Support to send in the preceding documentation.

Related Information

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Crash","Platform":[{"code":"PF016","label":"Linux"}],"Version":"8.5;8.0;7.0;6.1;6.0;5.1","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB15","label":"Integration"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU050","label":"BU NOT IDENTIFIED"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
15 June 2018

UID

swg21255223