Threads and stack trace (THREADS)

For the application programmer, one of the most useful pieces of a Java™ dump is the THREADS section. This section shows a list of Java threads and stack traces.

A Java thread is implemented by a native thread of the operating system. Each thread is represented by a line such as:

"Signal Dispatcher" TID:0x41509200, j9thread_t:0x0003659C, state:R,prio=5
       (native thread ID:5820, native priority:0, native policy:SCHED_OTHER)
    at com/ibm/misc/SignalDispatcher.waitForSignal(Native Method)
    at com/ibm/misc/SignalDispatcher.run(SignalDispatcher.java:84) 

A Java dump that is produced from a no-heap real-time thread could have some missing information. If the thread name object is not visible from the no-heap real-time thread, the text "(access error)" is printed instead of the actual thread name.

The properties on the first line are thread name, identifier, JVM data structure address, current state, and Java priority. The properties on the second line are the native operating system thread ID, native operating system thread priority and native operating system scheduling policy.

Start of changeFrom WebSphere® Real Time for AIX® on 32-bit POWER® releases SR2 to SR3, several threads have been assigned new identifying names. These names are visible in three ways: End of change
The following table provides more information about new or affected thread names.
Table 1. New thread names in WebSphere Real Time for AIX on 32-bit POWER
Detail of thread Old thread name New thread name
An internal JVM thread used by the garbage collection module to dispatch the finalization of objects by secondary threads. main Finalizer master
The alarm thread used by the garbage collector. Metronome GC Alarm Thread GC Alarm
The slave threads used for garbage collection. Gc Slave Thread Gc Slave
An internal JVM thread used by the just-in-time compiler module to sample the usage of methods in the application.   JIT Sampler
A thread used by the VM to manage signals received by the application, whether externally or internally generated.   Signal Reporter

The Java thread priority is mapped to an operating system priority value in a platform-dependent manner. A large value for the Java thread priority means that the thread has a high priority. In other words, the thread runs more frequently than lower priority threads.

The values of state can be:


© Copyright IBM Corporation 2005, 2010. All Rights Reserved.
© Copyright Sun Microsystems, Inc. 1997, 2007, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
This information center is powered by Eclipse technology. (http://www.eclipse.org/)