2012-01-16 138 views
0

得到了java進程的線程轉儲總是崩潰 - 症狀是應用程序沒有任何警告或錯誤存在。 線程轉儲是在Java應用程序啓動時進行的。 任何人都可以幫助找到任何可能的原因嗎?由於Java進程崩潰 - 需要幫助來分析線程轉儲


Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_10-b03 mixed mode): 

"Low Memory Detector" daemon prio=10 tid=0x0000000100383cd0 nid=0x19 runnable [0x0000000000000000..0x0000000000000000] 

"CompilerThread1" daemon prio=10 tid=0x0000000100382c60 nid=0x18 waiting on condition [0x0000000000000000..0xffffffff298fdcf8] 

"CompilerThread0" daemon prio=10 tid=0x0000000100380440 nid=0x17 waiting on condition [0x0000000000000000..0xffffffff29afdf18] 

"AdapterThread" daemon prio=10 tid=0x000000010037f570 nid=0x16 waiting on condition [0x0000000000000000..0x0000000000000000] 

"Signal Dispatcher" daemon prio=10 tid=0x000000010037e560 nid=0x15 waiting on condition [0x0000000000000000..0x0000000000000000] 

"Finalizer" daemon prio=10 tid=0x0000000100367820 nid=0x14 in Object.wait() [0xffffffff2a0ff000..0xffffffff2a0ff628] 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0xffffffff5c400ad0> (a java.lang.ref.ReferenceQueue$Lock) 
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) 
    - locked <0xffffffff5c400ad0> (a java.lang.ref.ReferenceQueue$Lock) 
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) 
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) 

"Reference Handler" daemon prio=10 tid=0x0000000100366fb0 nid=0x13 in Object.wait() [0xffffffff2a2ff000..0xffffffff2a2ff7a8] 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0xffffffff5c400950> (a java.lang.ref.Reference$Lock) 
    at java.lang.Object.wait(Object.java:474) 
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) 
    - locked <0xffffffff5c400950> (a java.lang.ref.Reference$Lock) 

"main" prio=10 tid=0x0000000100121cd0 nid=0x1 runnable [0xffffffff7fff2000..0xffffffff7fff56f0] 
    at org.apache.xerces.impl.dtd.XMLDTDProcessor.attributeDecl(Unknown Source) 
    at org.apache.xerces.impl.XMLDTDScannerImpl.scanAttlistDecl(Unknown Source) 
    at org.apache.xerces.impl.XMLDTDScannerImpl.scanDecls(Unknown Source) 
    at org.apache.xerces.impl.XMLDTDScannerImpl.scanDTDExternalSubset(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) 
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) 
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:146) 
    at org.apache.log4j.xml.DOMConfigurator$2.parse(DOMConfigurator.java:612) 
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:711) 
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:618) 
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:468) 
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:122) 
    at org.apache.log4j.Logger.getLogger(Logger.java:117) 
    at com.lehman.cats.common.mismarketsharereport.history.MarketShareHistoricalLoader.<clinit>(MarketShareHistoricalLoader.java:43) 

"VM Thread" prio=10 tid=0x0000000100363240 nid=0x12 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000100122d00 nid=0x2 runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x00000001001a7440 nid=0x3 runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x00000001001a7f40 nid=0x4 runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00000001001a8a40 nid=0x5 runnable 

"GC task thread#4 (ParallelGC)" prio=10 tid=0x00000001001a9540 nid=0x6 runnable 

"GC task thread#5 (ParallelGC)" prio=10 tid=0x00000001001aa040 nid=0x7 runnable 

"GC task thread#6 (ParallelGC)" prio=10 tid=0x00000001001aab40 nid=0x8 runnable 

"GC task thread#7 (ParallelGC)" prio=10 tid=0x00000001001ab660 nid=0x9 runnable 

"GC task thread#8 (ParallelGC)" prio=10 tid=0x00000001001ac160 nid=0xa runnable 

"GC task thread#9 (ParallelGC)" prio=10 tid=0x00000001001acc60 nid=0xb runnable 

"GC task thread#10 (ParallelGC)" prio=10 tid=0x00000001001ad760 nid=0xc runnable 

"GC task thread#11 (ParallelGC)" prio=10 tid=0x00000001001ae260 nid=0xd runnable 

"GC task thread#12 (ParallelGC)" prio=10 tid=0x00000001001aed60 nid=0xe runnable 

"GC task thread#13 (ParallelGC)" prio=10 tid=0x00000001001af860 nid=0xf runnable 

"GC task thread#14 (ParallelGC)" prio=10 tid=0x00000001001b0360 nid=0x10 runnable 

"GC task thread#15 (ParallelGC)" prio=10 tid=0x00000001001b0e60 nid=0x11 runnable 

"VM Periodic Task Thread" prio=10 tid=0x0000000100198170 nid=0x1a waiting on condition 
+1

您需要向我們展示JAVA代碼。 – Apurv 2012-01-16 04:59:37

+0

看起來您正在爲觸發加載格式錯誤的XML記錄配置文件的類創建記錄器。用'-verbose'運行會告訴你哪個日誌文件是? – 2012-01-16 05:09:37

+0

我不太明白你的問題。什麼時候生成線程轉儲?是在應用程序啓動的某個時候,但之後它崩潰了嗎?如果是這種情況,那麼我會確保您的所有異常都被捕獲並轉儲到控制檯或日誌文件。分析以前的線程轉儲不會有太大的幫助。 – Gray 2012-01-17 13:48:44

回答

0

您可能配置錯誤的log4j記錄器。