servicemix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Freeman Fang (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (SMXCOMP-666) net.sf.saxon.trans.DynamicError: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream
Date Mon, 02 Nov 2009 05:13:52 GMT

    [ https://issues.apache.org/activemq/browse/SMXCOMP-666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55115#action_55115
] 

Freeman Fang edited comment on SMXCOMP-666 at 11/1/09 9:11 PM:
---------------------------------------------------------------

Hi,

This is a known issue for a input stream which isn't re-readable but you try to consume the
stream twice, so when you consume the input stream the second time, you get the exception
like "Attempted read on closed stream."

When you set the log at 'DEBUG' level, actually the input stream will be changed to re-readable
first underlying, in order to print out the stream content  but you still can read the content
again, that's why it's working with log at 'DEBUG' level.

So the solution could be change the stream to re-readable in your flow if you need read it
for multiple times.

It's not a bug IMO.

Freeman



      was (Author: ffang):
    Hi,

This is a known issue for a input stream which isn't re-readable but you try to consume the
stream twice, so when you consume the input stream the second time, you get the exception
like "Attempted read on closed stream."

When you set the log at 'DEBUG' level, actually the input stream will be changed to re-readable
first underlying, in order to print out the stream content  but you still can read the content
again, that's why it's working with log at 'DEBUG' level.

So the solution could be change the stream to re-readable.

Freeman


  
> net.sf.saxon.trans.DynamicError: com.ctc.wstx.exc.WstxIOException: Attempted read on
closed stream
> --------------------------------------------------------------------------------------------------
>
>                 Key: SMXCOMP-666
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-666
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-saxon
>         Environment: smx-3.3.1.0-fuse / redhat
>            Reporter: Noseda Anne
>
> When the package 'org.apache.servicemix' in the log4j.xml file is configured at 'DEBUG'
level, the SA worked perfectly and when we change it to 'INFO' level, an exception occurred
every time in the saxon component. You can find the complete stacktrace at the end of the
post.
> This occured with the version smx-3.3.1.0-fuse and with the last version 3.3.1.20-fuse.
But it didn't occur when there is only a few SA. It occurred when we have a lot of SA deployed
on our ESB. Another thing strange is the fact that we use the saxon component in a lot of
our SA but the error occurred only in one use case.
> Here the saxon configuration :
> -----------------------------------------
> <saxon:xslt service="ppt:saxonFiltreReseauService" 
> 				endpoint="saxonFiltreReseauEndpoint"
> 				resource="classpath:xsl/detailEtabReponse.xsl" />
> Here the stacktrace :
> ----------------------------
> 2009-10-27 15:37:11,102 | ERROR | pool-flow.seda.servicemix-saxon-thread-5 | SaxonComponent
          | ervicemix.common.BaseLifeCycle   48 | Error processing exchange InOut[
>   id: ID:193.190.97.244-12496664f45-6:25
>   status: Active
>   role: provider
>   service: {http://etnic.be/fase/internal/detail/etab/ppt}saxonFiltreReseauService
>   endpoint: saxonFiltreReseauEndpoint
>   in: Unable to display: java.util.EmptyStackException
>   out: null
> ]
> net.sf.saxon.trans.DynamicError: com.ctc.wstx.exc.WstxIOException: Attempted read on
closed stream.
> 	at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:308)
> 	at net.sf.saxon.event.Sender.send(Sender.java:142)
> 	at net.sf.saxon.event.Sender.send(Sender.java:43)
> 	at net.sf.saxon.Controller.transform(Controller.java:1504)
> 	at org.apache.servicemix.saxon.XsltEndpoint.transformContent(XsltEndpoint.java:119)
> 	at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:92)
> 	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:172)
> 	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)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:154)
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:266)
> 	at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:300)
> 	... 17 more
> Caused by: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
> 	at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
> 	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
> 	at javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:59)
> 	at org.apache.servicemix.jbi.jaxp.ExtendedXMLStreamReader.next(ExtendedXMLStreamReader.java:61)
> 	at org.apache.servicemix.jbi.jaxp.FragmentStreamReader.next(FragmentStreamReader.java:77)
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:146)
> 	... 19 more
> Caused by: java.io.IOException: Attempted read on closed stream.
> 	at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165)
> 	at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:125)
> 	at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:362)
> 	at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)
> 	at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
> 	at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
> 	at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1021)
> 	at com.ctc.wstx.sr.StreamScanner.parseLocalName2(StreamScanner.java:1771)
> 	at com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1731)
> 	at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2912)
> 	at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2846)
> 	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
> 	... 23 more
> ---------
> com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:154)
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:266)
> 	at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:300)
> 	at net.sf.saxon.event.Sender.send(Sender.java:142)
> 	at net.sf.saxon.event.Sender.send(Sender.java:43)
> 	at net.sf.saxon.Controller.transform(Controller.java:1504)
> 	at org.apache.servicemix.saxon.XsltEndpoint.transformContent(XsltEndpoint.java:119)
> 	at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:92)
> 	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:172)
> 	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)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
> 	at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
> 	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
> 	at javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:59)
> 	at org.apache.servicemix.jbi.jaxp.ExtendedXMLStreamReader.next(ExtendedXMLStreamReader.java:61)
> 	at org.apache.servicemix.jbi.jaxp.FragmentStreamReader.next(FragmentStreamReader.java:77)
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:146)
> 	... 19 more
> Caused by: java.io.IOException: Attempted read on closed stream.
> 	at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165)
> 	at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:125)
> 	at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:362)
> 	at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)
> 	at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
> 	at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
> 	at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1021)
> 	at com.ctc.wstx.sr.StreamScanner.parseLocalName2(StreamScanner.java:1771)
> 	at com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1731)
> 	at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2912)
> 	at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2846)
> 	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
> 	... 23 more
> ---------
> com.ctc.wstx.exc.WstxIOException: Attempted read on closed stream.
> 	at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
> 	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
> 	at javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:59)
> 	at org.apache.servicemix.jbi.jaxp.ExtendedXMLStreamReader.next(ExtendedXMLStreamReader.java:61)
> 	at org.apache.servicemix.jbi.jaxp.FragmentStreamReader.next(FragmentStreamReader.java:77)
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:146)
> 	at org.apache.servicemix.jbi.jaxp.StaxSource.parse(StaxSource.java:266)
> 	at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:300)
> 	at net.sf.saxon.event.Sender.send(Sender.java:142)
> 	at net.sf.saxon.event.Sender.send(Sender.java:43)
> 	at net.sf.saxon.Controller.transform(Controller.java:1504)
> 	at org.apache.servicemix.saxon.XsltEndpoint.transformContent(XsltEndpoint.java:119)
> 	at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:92)
> 	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:172)
> 	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)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Attempted read on closed stream.
> 	at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165)
> 	at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:125)
> 	at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:362)
> 	at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)
> 	at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
> 	at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
> 	at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1021)
> 	at com.ctc.wstx.sr.StreamScanner.parseLocalName2(StreamScanner.java:1771)
> 	at com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1731)
> 	at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2912)
> 	at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2846)
> 	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
> 	... 23 more

-- 
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