Corporate Info | News | Solutions | Products | Partners | Services | Events | Download | How To Buy

1. # Creating a thread dump Contents Creating a thread dump in Windows NT Creating a thread dump in UNIX To help diagnose problems with WebLogic Server, technical support may ask you to send them a "thread dump." This page contains instructions for creating a thread dump. To create a thread dump, you must run WebLogic Server with a Java Software Development Kit (JDK). You cannot create a thread if you are running WebLogic Server in a Java Runtime Environment (JRE); ## Creating a thread dump in Windows NT Run the WebLogic Server with the just-in-time (JIT) compiler disabled by adding -nojit to the command line, for example:
        $ java -nojit ...
In the Command Prompt window where the WebLogic Server is running, open the properties dialog box by right clicking on the title bar and selecting "Properties". Select the Layout tab. Under Screen Buffer Size, set the Height to 2000, as shown below: Click on OK. Press Ctrl-Break. This will output the thread dump to the command window. Scroll back in the command window until you reach the beginning of the dump, which will contain the words "Full thread dump:" Select all the text from that point forward, for example,
    Full thread dump:
      "ListenThread" (TID:0xf89110, sys_thread_t:0x96ae90,
        Win32ID:0x14a, state:R) prio=5
        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:387)
        java.net.ServerSocket.implAccept(ServerSocket.java:206)
        java.net.ServerSocket.accept(ServerSocket.java:189)
        weblogic.common.internal.ServerSocketWrapper.accept
          (ServerSocketWrapper.java:34)
        weblogic.t3.srvr.ListenThread.run(ListenThread.java:275)
      "examples_ejb_containerManaged_server_AccountBean-PrepareThread"
      (TID:0xfa26b0,sys_thread_t:0x9693ex148, state:CW) prio=5
      ...
1. Copy the selected text to the clipboard. Paste the selection into a text file. Email this file to technical support. ## Creating a thread dump in UNIX To capture a thread dump on a UNIX computer, you can either copy the thread dump from your shell window or redirect the standard out (stdout) of the java command to a file. When you send a SIGQUIT signal to the java process, a thread dump is sent to the stdout. If you run WebLogic Server from an init script at boot time, you cannot get a thread dump. Programs executed from init scripts run with nohup and are immune to the SIGQUIT signal. You must start WebLogic Server without nohup if you want to get a thread dump. Run WebLogic Server with the just-in-time (JIT) compiler disabled. This allows the JVM to add line numbers to the thread dump. If you are using Solaris, set the JAVA_COMPILER environment variable to "NONE" before you execute the command to start WebLogic Server:
        $ setenv JAVA_COMPILER NONE
3. For other platforms, consult the JVM documentation for the correct procedure. In a second shell, find the java process ID using the ps command. Send the java process a SIGQUIT signal:
         $ kill -3 pid
where pid is the java process ID. This sends the thread dump to stdout. Please note, if you are using KSH: The INT and QUIT signals for an invoked command are ignored if the command is followed by & and the monitor option is not active. In other words, you can not get a thread dump of a process that is running in the background. If you redirected stdout to a file, email that file to WebLogic support. Otherwise, scroll back to the beginning of the thread dump, select, copy, and paste the thread dump to a file, and then email that file to WebLogic support.

Copyright © 2000 BEA Systems, Inc. All rights reserved. Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher. Last updated 7/26/1999