From: SourceForge.net <no...@so...> - 2006-02-26 16:31:23
|
Bugs item #1433162, was opened at 2006-02-16 21:08 Message generated for change (Settings changed) made by gregwilkins You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107322&aid=1433162&group_id=7322 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Other Group: None >Status: Closed Resolution: Fixed Priority: 5 Submitted By: Chris Cleveland (ccleve) Assigned to: Greg Wilkins (gregwilkins) Summary: Jetty6: Exception serving large pdfs Initial Comment: Jetty 6 throws an exception when serving large pdfs. I did not determine how large they have to be. A small one, 68K, did not throw the error. It happens with multiple pdfs. To duplicate the problem, get this sample file: http://www.irs.gov/pub/irs-pdf/f433a.pdf Do a clean install of Jetty6, beta9. Copy the pdf into webapps/test Start Jetty Navigate to http://localhost:8080/test/f433a.pdf I used IE 6. I did not test other browsers. Here's the exception: C:\temp\jetty-6.0.0beta9>java -jar start.jar etc/jetty.xml 0 [main] INFO org.mortbay.log - Logging to org.slf4j.impl.SimpleLogger@1174b07 v ia org.mortbay.log.Slf4jLog 1241 [main] INFO org.mortbay.log - Started SocketConnector @ 0.0.0.0:8081 1331 [main] INFO org.mortbay.log - Started SelectChannelConnector @ 0.0.0.0:8080 234807 [BoundedThreadPool0-11] WARN org.mortbay.log - /test/f433a.pdf java.io.IOException: An existing connection was forcibly closed by the remote ho st at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer (Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at org.mortbay.io.nio.ChannelEndPoint.flush (ChannelEndPoint.java:151) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.flush(Selec tChannelConnector.java:585) at org.mortbay.jetty.HttpGenerator.flushBuffers (HttpGenerator.java:626) at org.mortbay.jetty.HttpConnection$Output.write (HttpConnection.java:829 ) at org.mortbay.jetty.HttpConnection$Output.write (HttpConnection.java:789 ) at org.mortbay.io.IO.copy(IO.java:190) at org.mortbay.resource.Resource.writeTo (Resource.java:408) at org.mortbay.jetty.servlet.DefaultServlet.sendData (DefaultServlet.java :622) at org.mortbay.jetty.servlet.DefaultServlet.doGet (DefaultServlet.java:36 6) at javax.servlet.http.HttpServlet.service (HttpServlet.java:747) at javax.servlet.http.HttpServlet.service (HttpServlet.java:860) at org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:408 ) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:3 50) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:1 95) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.jav a:164) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:5 36) at org.mortbay.jetty.Server.handle (Server.java:309) at org.mortbay.jetty.Server.handle (Server.java:285) at org.mortbay.jetty.HttpConnection.doHandler (HttpConnection.java:363) at org.mortbay.jetty.HttpConnection.access$1600 (HttpConnection.java:45) at org.mortbay.jetty.HttpConnection$RequestHandler.headerC omplete(HttpCo nnection.java:609) at org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:490) at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:195) at org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:297) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.run(SelectC hannelConnector.java:680) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool .java:412) 234817 [BoundedThreadPool0-11] WARN org.mortbay.log - handle failed java.io.IOException: An existing connection was forcibly closed by the remote ho st at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer (Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at org.mortbay.io.nio.ChannelEndPoint.flush (ChannelEndPoint.java:151) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.flush(Selec tChannelConnector.java:585) at org.mortbay.jetty.HttpGenerator.flushBuffers (HttpGenerator.java:626) at org.mortbay.jetty.HttpGenerator.complete (HttpGenerator.java:586) at org.mortbay.jetty.HttpConnection.completeResponse (HttpConnection.java :428) at org.mortbay.jetty.Response.complete (Response.java:781) at org.mortbay.jetty.HttpConnection.doHandler (HttpConnection.java:392) at org.mortbay.jetty.HttpConnection.access$1600 (HttpConnection.java:45) at org.mortbay.jetty.HttpConnection$RequestHandler.headerC omplete(HttpCo nnection.java:609) at org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:490) at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:195) at org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:297) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.run(SelectC hannelConnector.java:680) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool .java:412) 242438 [BoundedThreadPool0-12] WARN org.mortbay.log - /test/f433a.pdf java.io.IOException: An existing connection was forcibly closed by the remote ho st at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer (Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at org.mortbay.io.nio.ChannelEndPoint.flush (ChannelEndPoint.java:151) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.flush(Selec tChannelConnector.java:585) at org.mortbay.jetty.HttpGenerator.flushBuffers (HttpGenerator.java:626) at org.mortbay.jetty.HttpConnection$Output.write (HttpConnection.java:847 ) at org.mortbay.jetty.HttpConnection$Output.write (HttpConnection.java:789 ) at org.mortbay.io.IO.copy(IO.java:190) at org.mortbay.jetty.servlet.DefaultServlet.sendData (DefaultServlet.java :705) at org.mortbay.jetty.servlet.DefaultServlet.doGet (DefaultServlet.java:36 6) at javax.servlet.http.HttpServlet.service (HttpServlet.java:747) at javax.servlet.http.HttpServlet.service (HttpServlet.java:860) at org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:408 ) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:3 50) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:1 95) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.jav a:164) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:5 36) at org.mortbay.jetty.Server.handle (Server.java:309) at org.mortbay.jetty.Server.handle (Server.java:285) at org.mortbay.jetty.HttpConnection.doHandler (HttpConnection.java:363) at org.mortbay.jetty.HttpConnection.access$1600 (HttpConnection.java:45) at org.mortbay.jetty.HttpConnection$RequestHandler.headerC omplete(HttpCo nnection.java:609) at org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:490) at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:195) at org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:297) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.run(SelectC hannelConnector.java:680) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool .java:412) 242448 [BoundedThreadPool0-12] WARN org.mortbay.log - handle failed java.io.IOException: An existing connection was forcibly closed by the remote ho st at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer (Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at org.mortbay.io.nio.ChannelEndPoint.flush (ChannelEndPoint.java:151) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.flush(Selec tChannelConnector.java:585) at org.mortbay.jetty.HttpGenerator.flushBuffers (HttpGenerator.java:626) at org.mortbay.jetty.HttpGenerator.complete (HttpGenerator.java:586) at org.mortbay.jetty.HttpConnection.completeResponse (HttpConnection.java :428) at org.mortbay.jetty.Response.complete (Response.java:781) at org.mortbay.jetty.HttpConnection.doHandler (HttpConnection.java:392) at org.mortbay.jetty.HttpConnection.access$1600 (HttpConnection.java:45) at org.mortbay.jetty.HttpConnection$RequestHandler.headerC omplete(HttpCo nnection.java:609) at org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:490) at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:195) at org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:297) at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoi nt.run(SelectC hannelConnector.java:680) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool .java:412) 250780 [Shutdown] INFO org.mortbay.log - Shutdown hook executing 251000 [Shutdown] INFO org.mortbay.log - Shutdown hook complete C:\temp\jetty-6.0.0beta9> ---------------------------------------------------------------------- Comment By: Chris Cleveland (ccleve) Date: 2006-02-24 21:32 Message: Logged In: YES user_id=68865 I just tested beta 10. It appears to handle the pdf correctly under both IE and Firefox on Windows. The pdf appeared correctly and there were no errors logged to the console. Thanks. ---------------------------------------------------------------------- Comment By: Greg Wilkins (gregwilkins) Date: 2006-02-20 20:21 Message: Logged In: YES user_id=44062 nb fix in CVS ---------------------------------------------------------------------- Comment By: Greg Wilkins (gregwilkins) Date: 2006-02-20 20:21 Message: Logged In: YES user_id=44062 The exception was ignorable. The problem was that I had optimized the boundary parameter out of the content-type header. Kind of made it difficult for the client to parse the response jetty sent. Was failing for acroread in firefox on linux. Is now working. I have not tested IE, so would appreciate an ack if it is now working. ---------------------------------------------------------------------- Comment By: Chris Cleveland (ccleve) Date: 2006-02-19 20:08 Message: Logged In: YES user_id=68865 >> Does the PDF display normally? No. On the first fetch, the browser locks up. On subsequent fetches, the Acrobat plugin reports that it stops after 128K is downloaded. If you hit refresh, the plugin thinks that the file is 5 mb instead of 1.3mb. All of this is on IE 6.0. I think the Acrobat plugin is version 7, but I can't confirm that. Firefox 1.0 is a little different. It doesn't display anything, but it doesn't cause Jetty to throw an exception either. It locks the browser completely. >Can you do a saveAs for the PDF and does it download OK >without exception? The pdf doesn't successfully display under either browser. ---------------------------------------------------------------------- Comment By: Greg Wilkins (gregwilkins) Date: 2006-02-19 11:51 Message: Logged In: YES user_id=44062 This may actually be normal... but Jetty might be shouting too loud about it. Does the PDF display normally? Can you do a saveAs for the PDF and does it download OK without exception? Can you try a different browser - perhaps firefox? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107322&aid=1433162&group_id=7322 |