Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003766 [Resin] minor always 11-16-09 15:03 12-16-09 10:20
Reporter alex View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.3 Product Version 3.1.8
  Product Build
Summary 0003766: file servlet throws ArrayIndexOutOfBoundsException with negative range
Description reported by Knut Forkalsrud
  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
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.
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0004337)
ferg
12-16-09 10:20

server/058m
 

- Issue History
Date Modified Username Field Change
11-16-09 15:03 alex New Issue
12-16-09 10:20 ferg Note Added: 0004337
12-16-09 10:20 ferg Assigned To  => ferg
12-16-09 10:20 ferg Status new => closed
12-16-09 10:20 ferg Resolution open => fixed
12-16-09 10:20 ferg Fixed in Version  => 4.0.3


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker