Java进程崩溃 - 需要帮助来分析线程转储

时间:2012-01-16 04:44:50

标签: 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 

2 个答案:

答案 0 :(得分:0)

似乎MarketShareHistoricalLoader.java:43行导致此问题。似乎XMLDTDLoader加载器在为输入源构建语法时失败了。您可能需要找到DTD禁用等替代品,以下是understanding java thread dump disable DTD validaton 的链接

答案 1 :(得分:0)

您可能错误配置了log4j记录器。