Knut Forkalsrud wrote: > Dear Cognoscenti, > We have recently been getting a few requests with abnormal Range > request headers. For example: > > Accept-Language: zh-cn,zh-hk,zh-tw,en-us > User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) > Accept: */* > Host: www.mydomain.com > Connection: Keep-Alive > Range: bytes=-335544320--1162852624 > Accept-Encoding: gzip > X-Forwarded-For: 124.115.0.146 > > This results in an exception like this: > > java.lang.ArrayIndexOutOfBoundsException >
Out of curiosity, what's the actual size of the file? And what kind of application? Just browser download or some kind of fancy streaming client. -- Scott > at java.lang.System.arraycopy(Native Method) > at com.caucho.vfs.WriteStream.write(WriteStream.java:301) > at > com.caucho.server.connection.ResponseStream.writeNext(ResponseStream.java:445) > at > com.caucho.server.connection.ToByteResponseStream.write(ToByteResponseStream.java:336) > at > com.caucho.server.connection.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:67) > at com.caucho.vfs.ReadStream.writeToStream(ReadStream.java:899) > at com.caucho.servlets.FileServlet.handleRange(FileServlet.java:498) > at com.caucho.servlets.FileServlet.service(FileServlet.java:325) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) > at > com.caucho.server.webapp.NamedDispatcherImpl.forward(NamedDispatcherImpl.java:108) > at com.mydomain.www.MyServlet.doGet(BaseServlet.java:167) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:114) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:91) > at > com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) > at > com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) > at > com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) > at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273) > at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) > at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730) > at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649) > at java.lang.Thread.run(Thread.java:595) > > (I'm forwarding the request to the FileServlet). No harm done here, > the requests seems to fail > without causing any other side effects, but I'm wondering if the > FileServlet should handle the > situation a little more gracefully and give a 4xx response code > instead of throwing an exception, > which ends up being a 5xx response code. > > This is Resin 3.1.8 btw. > > Thanks, > > Knut Forkalsrud > > > _______________________________________________ > resin-interest mailing list > [email protected] > http://maillist.caucho.com/mailman/listinfo/resin-interest > _______________________________________________ resin-interest mailing list [email protected] http://maillist.caucho.com/mailman/listinfo/resin-interest
