Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.2.1
-
None
-
Linux and Solaris x86
Java: "1.5.0_07"
Description
I'm having a problem with data loss in service mix. My servicemix log files contain random exceptions coming from the saxon engine. The details and exceptions are outlined below.
I have a service assembly as follows: JMS consumer -> XSLT ( XML 1 to XML 2) -> XSLT (XML 2 to SOAP) -> HTTP provider. In addition, each service unit above is linked togethor using an eip:pipeline.
I have a JMS client that pushes a single XML message X number of times. I want to emphasize that I push the same XML message every time. Hence, the content never changes during experimentation. In addition, every time I enqueue that XML message X times, I start from a clean slate. Which means, I shutdown servicemix, clear the data directory, then restart servicemix. The XML message I push is roughly 500 bytes of data.
Roughly 50% of the time enqueuing 100 messages, I will see 100 messages reach the HTTP Provider. The other 50% of the time enqueuing 100 messages, I will see one or more of the following exception in my servicemix log file.
Exception 1)
java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:336)
at org.xml.sax.helpers.NamespaceSupport$Context.processName(NamespaceSupport.java:642)
at org.xml.sax.helpers.NamespaceSupport.processName(NamespaceSupport.java:341)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:182)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.send(DOMSender.java:95)
at net.sf.saxon.dom.DOMObjectModel.sendSource(DOMObjectModel.java:113)
at net.sf.saxon.event.Sender.send(Sender.java:194)
at net.sf.saxon.event.Sender.send(Sender.java:43)
at net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.java:214)
at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:139)
at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:137)
at org.apache.servicemix.saxon.XsltEndpoint.createTemplates(XsltEndpoint.java:123)
at org.apache.servicemix.saxon.XsltEndpoint.getTemplates(XsltEndpoint.java:113)
at org.apache.servicemix.saxon.XsltEndpoint.createTransformer(XsltEndpoint.java:141)
at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:72)
at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:220)
at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675
Exception 2)
java.lang.NullPointerException
at org.apache.xerces.dom.ParentNode.nodeListItem(Unknown Source)
at org.apache.xerces.dom.ParentNode.item(Unknown Source)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:134)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:225)
at net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:142)
at net.sf.saxon.dom.DOMSender.send(DOMSender.java:95)
at net.sf.saxon.dom.DOMObjectModel.sendSource(DOMObjectModel.java:113)
at net.sf.saxon.event.Sender.send(Sender.java:194)
at net.sf.saxon.event.Sender.send(Sender.java:43)
at net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.java:214)
at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:139)
at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:137)
at org.apache.servicemix.saxon.XsltEndpoint.createTemplates(XsltEndpoint.java:123)
at org.apache.servicemix.saxon.XsltEndpoint.getTemplates(XsltEndpoint.java:113)
at org.apache.servicemix.saxon.XsltEndpoint.createTransformer(XsltEndpoint.java:141)
at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:72)
at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:220)
Exception 3)
net.sf.saxon.trans.DynamicError: org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.
at net.sf.saxon.dom.DOMWriter.characters(DOMWriter.java:179)
at net.sf.saxon.event.ImplicitResultChecker.characters(ImplicitResultChecker.java:39)
at net.sf.saxon.event.ProxyReceiver.characters(ProxyReceiver.java:179)
at net.sf.saxon.event.ComplexContentOutputter.characters(ComplexContentOutputter.java:138)
at net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:359)
at net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:310)
at net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:349)
at net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:310)
at net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:349)
at net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:310)
at net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:349)
at net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:310)
at net.sf.saxon.Controller.transformDocument(Controller.java:1706)
at net.sf.saxon.Controller.transform(Controller.java:1513)
at org.apache.servicemix.saxon.XsltEndpoint.transformContent(XsltEndpoint.java:95)
at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:74)
at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:220)
at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExecution(ThreadPoolExecutor.java:1455)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:384)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:867)
at org.apache.servicemix.executors.impl.ExecutorImpl.execute(ExecutorImpl.java:43)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue.enqueue(SedaQueue.java:128)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.enqueuePacket(SedaFlow.java:182)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doSend(SedaFlow.java:162)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
Exception 4)
javax.xml.transform.TransformerConfigurationException: Failed to compile stylesheet. 1 error detected.
at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:153)
at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:137)
at org.apache.servicemix.saxon.XsltEndpoint.createTemplates(XsltEndpoint.java:123)
at org.apache.servicemix.saxon.XsltEndpoint.getTemplates(XsltEndpoint.java:113)
at org.apache.servicemix.saxon.XsltEndpoint.createTransformer(XsltEndpoint.java:141)
at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:72)
at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:220)
at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)