Understanding thread dump

Unmesh joshi unmesh_joshi at hotmail.com
Wed Sep 22 00:32:21 PDT 2010


Hi,
I was looking at the following thread dump
Full thread dump Java HotSpot(TM) Server VM (11.0-b16 mixed mode):
"pool-3-thread-1428" prio=10 tid=0x72b83800 nid=0x60ef waiting on condition [0x73318000..0x73318fb0]   java.lang.Thread.State: TIMED_WAITING (parking)        at sun.misc.Unsafe.park(Native Method)        - parking to wait for  <0x98983260> (a java.util.concurrent.SynchronousQueue$TransferStack)        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)        at java.lang.Thread.run(Thread.java:619)
"MergeTask" daemon prio=10 tid=0x09454c00 nid=0x60e7 waiting for monitor entry [0x65106000..0x65106f30]   java.lang.Thread.State: BLOCKED (on object monitor)        at org.apache.log4j.Category.callAppenders(Category.java:201)        - waiting to lock <0x96d90bb8> (a org.apache.log4j.spi.RootLogger)        at org.apache.log4j.Category.forcedLog(Category.java:388)        at org.apache.log4j.Category.log(Category.java:853)        at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)

I can see that 0x98983260 and 0x96d90bb8 are memory addresses of condition object and lock object respectively (I hope ti. But I was puzzled with [0x73318000..0x73318fb0] and [0x65106000..0x65106f30].What do these memory ranges indicate? Is there any documentation related to thread dump?

In OpenJDK source code I can see following comment. But I did not understand what it means.
 // print guess for valid stack memory region (assume 4K pages); helps lock debugging  st->print_cr("[" INTPTR_FORMAT "]", (intptr_t)last_Java_sp() & ~right_n_bits(12));
Thanks,Unmesh 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/jdk6-dev/attachments/20100922/928815d9/attachment.html 


More information about the jdk6-dev mailing list