abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Diephouse <dan.diepho...@mulesource.com>
Subject Re: Streaming Problem
Date Thu, 13 Dec 2007 04:23:53 GMT
I found it - there wasn't a status code being set, so we were calling 
response.setStatus(0), which caused jetty all sorts of problems because 
it uses the status field to denote that the connection was reset or 
something like that.

Anyway, fixed in SVN and Greg is going to throw an 
IllegalArgumentException in Jetty if 0 is passed in from now on.

- Dan

Dan Diephouse wrote:
> Its not close()ing actually. The underlying XMLStreamWriter flushes 
> once endDocument() is called. flush() is only ever called once too. 
> I'm not sure why thats causing Jetty to freak out. *sigh*
>
> Googling turned up this, but I'm not sure its really helping me - 
> http://jira.codehaus.org/browse/JETTY-276
>
> - Dan
>
> James M Snell wrote:
>> It's possible but then I'd expect the error to be thrown higher up in
>> the method.  For some reason, the underlying writer appears to be
>> closing before the method completes.  Any chance you can do some
>> debugging on that internal writer to see what's going on with it?
>>
>> - James
>>
>> Dan Diephouse wrote:
>>  
>>> Any chance the document is being written twice somehow? Thats what the
>>> exception seems to imply to me, but I could be way off.
>>>
>>> Dan Diephouse wrote:
>>>    
>>>> Its the code inside AbstractServiceProvider.getServicesDocument()
>>>> (formerly known as AbstractWorkspaceProvider).
>>>>
>>>> James M Snell wrote:
>>>>      
>>>>> Odd. Can you provide some of the code you're using the write out the
>>>>> document?
>>>>>
>>>>> - James
>>>>>
>>>>> Dan Diephouse wrote:
>>>>>  
>>>>>        
>>>>>> I'm getting the following exception in my app when printing out a
>>>>>> services document now. I haven't been able to reproduce in any of

>>>>>> the
>>>>>> Abdera test cases I've written though. Any ideas?
>>>>>>
>>>>>> - Dan
>>>>>>
>>>>>> java.lang.RuntimeException: com.ctc.wstx.exc.WstxIOException: null
>>>>>>    at
>>>>>> org.apache.abdera.parser.stax.StaxStreamWriter.endDocument(StaxStreamWriter.java:117)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.impl.AbstractServiceProvider$1.writeTo(AbstractServiceProvider.java:184)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.impl.StreamWriterResponseContext.writeEntity(StreamWriterResponseContext.java:94)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.impl.SimpleResponseContext.writeTo(SimpleResponseContext.java:67)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.impl.SimpleResponseContext.writeTo(SimpleResponseContext.java:60)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.impl.DefaultRequestHandler.response(DefaultRequestHandler.java:133)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.impl.DefaultRequestHandler.process(DefaultRequestHandler.java:61)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.protocol.server.servlet.AbderaServlet.service(AbderaServlet.java:100)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>>>>>    at
>>>>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.springmodules.jcr.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:93)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:341)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)

>>>>>>
>>>>>>
>>>>>>    at org.mortbay.jetty.Server.handle(Server.java:313)
>>>>>>    at
>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)

>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>>>>>    at 
>>>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>>>>>    at 
>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
>>>>>>    at
>>>>>> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

>>>>>>
>>>>>>
>>>>>>
>>>>>> Caused by: com.ctc.wstx.exc.WstxIOException: null
>>>>>>    at
>>>>>> com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1687)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> com.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:585)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.apache.abdera.parser.stax.StaxStreamWriter.endDocument(StaxStreamWriter.java:114)

>>>>>>
>>>>>>
>>>>>>
>>>>>>    ... 52 more
>>>>>> Caused by: org.mortbay.jetty.EofException
>>>>>>    at
>>>>>> org.mortbay.jetty.HttpGenerator.completeHeader(HttpGenerator.java:253)

>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.HttpConnection.commitResponse(HttpConnection.java:581)

>>>>>>
>>>>>>
>>>>>>    at
>>>>>> org.mortbay.jetty.HttpConnection$Output.flush(HttpConnection.java:906)

>>>>>>
>>>>>>    at
>>>>>> sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:410)
>>>>>>    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
>>>>>>    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
>>>>>>    at
>>>>>> com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)

>>>>>>
>>>>>>    at
>>>>>> com.ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:194)

>>>>>>
>>>>>>    at
>>>>>> com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1685)

>>>>>>
>>>>>>
>>>>>>    ... 54 more
>>>>>> [12-12 15:57:41] INFO  / [main]: Destroying
>>>>>>
>>>>>>               
>>>>       
>>>     
>
>


-- 
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com/blog


Mime
View raw message