Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Java™ Troubleshooting Guide for HP-UX Systems: > Chapter 1 Diagnostic and Monitoring Tools and Options

Ctrl-Break Handler

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

A thread dump is printed if the Java process receives a SIGQUIT signal. Therefore, issuing the command kill -3 <pid> causes the process with id <pid> to print a thread dump to its standard output. The application continues processing after the thread information is printed.

In addition to the thread stacks, the ctrl-break handler also executes a deadlock detection algorithm. If any deadlocks are detected, the ctrl-break handler also prints out additional information on each deadlocked thread. The SIGQUIT signal can also be used to print heap dump information when using the -XX:+HeapDump or -XX:+HeapDumpOnCtrlBreak options described further on in this chapter.

The following example shows the output generated when SIGQUIT is sent to a running Java process:

Full thread dump  [Thu Oct 12 14:00:56 PDT 2006] (Java HotSpot(TM) Server
VM 1.5.0.03 jinteg:02.13.06-21:25 IA64 mixed mode):

"Thread-3" prio=10 tid=00a78480 nid=24 lwp_id=2669798 runnable [0bfc0000..0bfc0ae0] 	
         at java.lang.Math.log(Native Method)
         at spec.jbb.JBButil.negativeExpDistribution(JBButil.java:795) 
         at spec.jbb.TransactionManager.go(TransactionManager.java:234) 	
         at spec.jbb.JBBmain.run(JBBmain.java:258)
	        at java.lang.Thread.run(Thread.java:595)  

"Thread-2" prio=2 tid=009fb7a0 nid=23 lwp_id=2669797 runnable [0c1c0000..0c1c0b60] 
         at spec.jbb.Order.dateOrderlines(Order.java:341)
         - waiting to lock <444ba618> (a spec.jbb.Order) 	
         at spec.jbb.DeliveryTransaction.process(DeliveryTransaction.java:213)
	        at spec.jbb.DeliveryHandler.handleDelivery(DeliveryHandler.java:103)
	        at spec.jbb.DeliveryTransaction.queue(DeliveryTransaction.java:363)
	        - locked <154927e8> (a spec.jbb.DeliveryTransaction) 	
         at spec.jbb.TransactionManager.go(TransactionManager.java:431)
	        at spec.jbb.JBBmain.run(JBBmain.java:258) 	
         at java.lang.Thread.run(Thread.java:595)

"Thread-1" prio=10 tid=008ffa80 nid=22 lwp_id=2669796 runnable [0c3c0000..0c3c0de0]
	        at spec.jbb.infra.Collections.longStaticBTree.get(longStaticBTree.java:1346)
        	at spec.jbb.Warehouse.retrieveStock(Warehouse.java:307) 	
         at spec.jbb.Orderline.validateAndProcess(Orderline.java:341)
	        - locked <48563610> (a spec.jbb.Orderline) 	
         at spec.jbb.Order.processLines(Order.java:289)
	        - locked <48563128> (a spec.jbb.Order) 	
         at spec.jbb.NewOrderTransaction.process(NewOrderTransaction.java:282)
	        at spec.jbb.TransactionManager.go(TransactionManager.java:278) 	
         at spec.jbb.JBBmain.run(JBBmain.java:258) 
	        at java.lang.Thread.run(Thread.java:595)

"Thread-0" prio=2 tid=00781240 nid=21 lwp_id=2669795 runnable [0c5c0000..0c5c0e60]
	        at spec.jbb.infra.Util.DisplayScreen.privIntLeadingZeros(DisplayScreen.java:448)
	        at spec.jbb.infra.Util.DisplayScreen.putDollars(DisplayScreen.java:1214)
	        at spec.jbb.NewOrderTransaction.secondDisplay(NewOrderTransaction.java:416)
	        - locked <154d4828> (a spec.jbb.NewOrderTransaction) 	
         at spec.jbb.TransactionManager.go(TransactionManager.java:279)
	        at spec.jbb.JBBmain.run(JBBmain.java:258) 	
         at java.lang.Thread.run(Thread.java:595)
 
"Low Memory Detector" daemon prio=10 tid=00778b80 nid=19 lwp_id=2669774 runnable [00000000..00000000]  

"CompilerThread1" daemon prio=10 tid=00772c30 nid=17 lwp_id=2669772 waiting on condition [00000000..0a7ff728]  

"CompilerThread0" daemon prio=10 tid=007703f0 nid=16 lwp_id=2669771 waiting on condition [00000000..0afff5b8]  

"AdapterThread" daemon prio=10 tid=0076c8d0 nid=15 lwp_id=2669770 waiting on condition [00000000..00000000]  

"Signal Dispatcher" daemon prio=10 tid=0076a2e0 nid=14 lwp_id=2669769 waiting on condition [00000000..00000000]  

"Finalizer" daemon prio=10 tid=00530a60 nid=13 lwp_id=2669768 in Object.wait() [750c0000..750c0e60] 	
         at java.lang.Object.wait(Native Method) 	
         - waiting on <11000100> (a java.lang.ref.ReferenceQueue$Lock)
	        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133) 	
         - locked <11000100> (a java.lang.ref.ReferenceQueue$Lock) 	
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
	        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:197)

"Reference Handler" daemon prio=10 tid=0052de80 nid=12 lwp_id=2669767 in Object.wait() [752c0000..752c0ce0] 	
         at java.lang.Object.wait(Native Method) 	
         - waiting on <11003dc8> (a java.lang.ref.Reference$Lock)
	        at java.lang.Object.wait(Object.java:474) 	
         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:123)
	        - locked <11003dc8> (a java.lang.ref.Reference$Lock)  

"main" prio=8 tid=0047dc90 nid=1 lwp_id=-1 waiting on condition [7fffd000..7fffe398]
	        at java.lang.Thread.sleep(Native Method) 	
         at spec.jbb.JBButil.SecondsToSleep(JBButil.java:740)
	        at spec.jbb.Company.displayResultTotals(Company.java:942) 	
         at spec.jbb.JBBmain.DoARun(JBBmain.java:387)
	        at spec.jbb.JBBmain.DOIT(JBBmain.java:1137) 	
         at spec.jbb.JBBmain.main(JBBmain.java:1490)

"VM Thread" prio=10 tid=004ff510 nid=11 lwp_id=2669766 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=004d0520 nid=3 lwp_id=2669758 runnable   

"GC task thread#1 (ParallelGC)" prio=10 tid=004d0600 nid=4 lwp_id=2669759 runnable   

"GC task thread#2 (ParallelGC)" prio=10 tid=004d06e0 nid=5 lwp_id=2669760 runnable   

"GC task thread#3 (ParallelGC)"prio=10 tid=004d07c0 nid=6 lwp_id=2669761 runnable   

"GC task thread#4 (ParallelGC)" prio=10 tid=004d08a0 nid=7 lwp_id=2669762 runnable 
 
"GC task thread#5 (ParallelGC)" prio=10 tid=004d0980 nid=8 lwp_id=2669763 runnable   

"GC task thread#6 (ParallelGC)" prio=10 tid=004d0a60 nid=9 lwp_id=2669764 runnable   

"GC task thread#7 (ParallelGC)" prio=10 tid=004d0b40 nid=10 lwp_id=2669765 runnable   

"VM Periodic Task Thread" prio=8 tid=00500ad0 nid=18 lwp_id=2669773 waiting on condition 
Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2009 Hewlett-Packard Development Company, L.P.