servicemix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gert Vanthienen (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (SM-1184) Data loss due to random exceptions in a saxon service unit
Date Thu, 07 Feb 2008 09:43:35 GMT

     [ https://issues.apache.org/activemq/browse/SM-1184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gert Vanthienen resolved SM-1184.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 3.3
                   3.2.2
                   3.1.3

Fix for 3.1.3 -- http://svn.apache.org/viewvc?view=rev&revision=619327
Fix for 3.2.2 -- http://svn.apache.org/viewvc?view=rev&revision=619328
Fix for trunk -- http://svn.apache.org/viewvc?view=rev&revision=619330

> Data loss due to random exceptions in a saxon service unit
> ----------------------------------------------------------
>
>                 Key: SM-1184
>                 URL: https://issues.apache.org/activemq/browse/SM-1184
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-saxon
>    Affects Versions: 3.2.1
>         Environment: Linux and Solaris x86
> Java: "1.5.0_07"
>            Reporter: Seth Cleveland
>             Fix For: 3.1.3, 3.2.2, 3.3
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message