I've tried the troubleshooting methods Aaron suggested.
I should amend the problem to say that the server transmits some, but not all,
of the data for a requested datastream. I've used a better packet trace
(Wireshark instead of Fiddler) to confirm this.
strace indicates the jvm is sending (sendto()) all of the data to the socket.
There doesn't appear to be any blocked system calls, unless I'm missing
something.
jdb indicates that the thread(s) that get hung up are busy with
java.net.SocketOutputStream.socketWrite0. I've attached the full stack trace.
Does this sound like a Fedora issue? Are there relevant configuration options
we should check in Fedora, Tomcat, or the OS (RHEL5) that maybe we hadn't
considered?
Thanks for any help.
Rob
-----Original Message-----
From: Aaron Birkland [mailto:birkl...@cs.cornell.edu]
Sent: Wednesday, April 06, 2011 2:37 PM
To: Support and info exchange list for Fedora users.
Subject: Re: [fcrepo-user] Http response 200 but no payload?
Hi Rob,
> The problem is intermittent, unfortunately. (Or, at least, I have not
> been able to isolate the problem case.)
Next time it happens, you could try running strace -f against the java
vm to to see if there any blocking system calls that are stuck waiting
(like read() or socket()).
If you have the freedom to do so at this point, you could also have the
java vm run in -Xdebug mode so that you can jump in, pause execution,
and examine the state of the java threads whenever you see this
happening.
Between the two of these, I think you stand a fairly good chance of
narrowing down the basic problem area.
By the way, what is the control group of these datastreams. Are they
all Managed?
-Aaron
>
> We're having an issue wherein Fedora/Tomcat will respond to a
> REST API-A request with 200 and Transfer-Encoding: chunked but
> then sends no chunks. Here's a typical response header:
>
> HTTP/1.1 200 OK
> Server: Apache-Coyote/1.1
> Pragma: No-cache
> Cache-Control: no-cache
> Expires: Wed, 31 Dec 1969 19:00:00 EST
> content-disposition: inline; filename="Annual report Town of
> Center Harbor New Hampshire 2008.jpg"
> Content-Type: image/jpeg
> Transfer-Encoding: chunked
> Date: Sun, 27 Mar 2011 01:46:23 GMT
>
> ...and that's it, no payload.
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
http-8080-30[1] where
[1] java.net.SocketOutputStream.socketWrite0 (native method)
[2] java.net.SocketOutputStream.socketWrite (SocketOutputStream.java:92)
[3] java.net.SocketOutputStream.write (SocketOutputStream.java:136)
[4] org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes
(InternalOutputBuffer.java:740)
[5] org.apache.tomcat.util.buf.ByteChunk.flushBuffer (ByteChunk.java:434)
[6] org.apache.tomcat.util.buf.ByteChunk.append (ByteChunk.java:349)
[7]
org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite
(InternalOutputBuffer.java:764)
[8] org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite
(ChunkedOutputFilter.java:126)
[9] org.apache.coyote.http11.InternalOutputBuffer.doWrite
(InternalOutputBuffer.java:573)
[10] org.apache.coyote.Response.doWrite (Response.java:560)
[11] org.apache.catalina.connector.OutputBuffer.realWriteBytes
(OutputBuffer.java:353)
[12] org.apache.tomcat.util.buf.ByteChunk.flushBuffer (ByteChunk.java:434)
[13] org.apache.tomcat.util.buf.ByteChunk.append (ByteChunk.java:349)
[14] org.apache.catalina.connector.OutputBuffer.writeBytes
(OutputBuffer.java:381)
[15] org.apache.catalina.connector.OutputBuffer.write (OutputBuffer.java:370)
[16] org.apache.catalina.connector.CoyoteOutputStream.write
(CoyoteOutputStream.java:89)
[17] com.sun.jersey.spi.container.servlet.WebComponent$Writer.write
(WebComponent.java:230)
[18]
com.sun.jersey.spi.container.ContainerResponse$CommittingOutputStream.write
(ContainerResponse.java:114)
[19] com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider.writeTo
(AbstractMessageReaderWriterProvider.java:73)
[20] com.sun.jersey.core.impl.provider.entity.InputStreamProvider.writeTo
(InputStreamProvider.java:95)
[21] com.sun.jersey.core.impl.provider.entity.InputStreamProvider.writeTo
(InputStreamProvider.java:58)
[22] com.sun.jersey.spi.container.ContainerResponse.write
(ContainerResponse.java:254)
[23] com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest
(WebApplicationImpl.java:724)
[24] com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
(WebApplicationImpl.java:647)
[25] com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
(WebApplicationImpl.java:638)
[26] com.sun.jersey.spi.container.servlet.WebComponent.service
(WebComponent.java:309)
[27] com.sun.jersey.spi.container.servlet.ServletContainer.service
(ServletContainer.java:425)
[28] com.sun.jersey.spi.container.servlet.ServletContainer.service
(ServletContainer.java:590)
[29] javax.servlet.http.HttpServlet.service (HttpServlet.java:717)
[30] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:290)
[31] org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
[32] org.fcrepo.server.security.servletfilters.FilterRestApiFlash.doFilter
(FilterRestApiFlash.java:79)
[33] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
[34] org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
[35] org.fcrepo.server.security.servletfilters.FilterSetup.doFilter
(FilterSetup.java:235)
[36] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
[37] org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
[38] org.fcrepo.server.security.servletfilters.FilterSetup.doFilter
(FilterSetup.java:235)
[39] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
[40] org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
[41] org.fcrepo.server.security.servletfilters.FilterSetup.doFilter
(FilterSetup.java:235)
[42] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
[43] org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
[44] org.fcrepo.server.security.servletfilters.FilterSetup.doFilter
(FilterSetup.java:235)
[45] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
[46] org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
[47] org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
[48] org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
[49] org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:525)
[50] org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
[51] org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
[52] org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
[53] org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:293)
[54] org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:849)
[55] org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
(Http11Protocol.java:583)
[56] org.apache.tomcat.util.net.JIoEndpoint$Worker.run (JIoEndpoint.java:454)
[57] java.lang.Thread.run (Thread.java:619)
------------------------------------------------------------------------------
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been
demonstrated beyond question. Learn why your peers are replacing JEE
containers with lightweight application servers - and what you can gain
from the move. http://p.sf.net/sfu/vmware-sfemails
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users