Hello,
I am using javax.xml.transform.Transformer.transform
method to split a given XML file into multiple files
given an XSL file. But when the XML file is bad and
makes the Transformer throw a TransformerException, it
seems like the threads spawned with in the Transformer
do not die. The main class which calls these classes
waits for the monitor to release the thread and never
finishes. Following is the thread dump.
I appreciate it if anybody can help me with this.
Thanks,
..Ram.
Full thread dump:
"Thread-2" prio=5 tid=0x234f30 nid=0x7b4 waiting on
monitor [0..0x6fb38]
"Thread-0" prio=5 tid=0x89f01a0 nid=0x65c waiting on
monitor [0x8e7f000..0x8e7fd
c4]
at java.lang.Object.wait(Native Method)
at
org.apache.xalan.stree.Child.getNextSibling(Child.java:312)
at
org.apache.xpath.axes.ChildWalker.nextSibling(ChildWalker.java:134)
at
org.apache.xpath.axes.AxesWalker.getNextNode(AxesWalker.java:1058)
at
org.apache.xpath.axes.AxesWalker.nextNode(AxesWalker.java:1137)
at
org.apache.xpath.axes.LocPathIterator.nextNode(LocPathIterator.java:6
89)
at
org.apache.xpath.objects.XNodeSet.str(XNodeSet.java:207)
at
org.apache.xpath.functions.FuncConcat.execute(FuncConcat.java:90)
at
org.apache.xpath.XPath.execute(XPath.java:269)
at
org.apache.xalan.lib.Redirect.getFilename(Redirect.java:289)
at
org.apache.xalan.lib.Redirect.write(Redirect.java:191)
at java.lang.reflect.Method.invoke(Native
Method)
at
org.apache.xalan.extensions.ExtensionHandlerJavaClass.processElement(
ExtensionHandlerJavaClass.java:418)
at
org.apache.xalan.templates.ElemExtensionCall.execute(ElemExtensionCal
l.java:304)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemFor
Each.java:498)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:193)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemFor
Each.java:498)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:193)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemFor
Each.java:498)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:193)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemFor
Each.java:498)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:193)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemFor
Each.java:498)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:193)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemFor
Each.java:498)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:193)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Tr
ansformerImpl.java:2202)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Tran
sformerImpl.java:2085)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(Transforme
rImpl.java:1219)
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java
:2942)
at java.lang.Thread.run(Thread.java:484)
"Signal Dispatcher" daemon prio=10 tid=0x23d158
nid=0x750 waiting on monitor [0.
.0]
"Finalizer" daemon prio=9 tid=0x23a0b0 nid=0x5c8
waiting on monitor [0x8c4f000..
0x8c4fdc4]
at java.lang.Object.wait(Native Method)
at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
"Reference Handler" daemon prio=10 tid=0x7ee840
nid=0x7b0 waiting on monitor [0x
8c0f000..0x8c0fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
"VM Thread" prio=5 tid=0x848ef0 nid=0x1a8 runnable
"VM Periodic Task Thread" prio=10 tid=0x23c548
nid=0x42c waiting on monitor
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/