Details
-
Bug
-
Resolution: Fixed
-
Low
-
1.6.6
-
None
Description
If there is a large (e.g. 1GB) binary file in the Subversion repository and the 'raw' link is clicked to download it, FishEye may run out of heap space.
In the browser, a 500 error is given with the following text:
Additionally, an error occured trying to render this page.
java.lang.IllegalStateException: Context not available, filter already exited
In the logs:
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid26274.hprof ...
Heap dump file created [307441037 bytes in 2.875 secs]
ERROR - Error for /source/browse/~raw,r=2375/PROJ/branches/dist/example_big_file.exe
java.lang.OutOfMemoryError: Java heap space
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:95)
at org.tmatesoft.svn.core.internal.wc.SVNCancellableOutputStream.write(SVNCancellableOutputStream.java:44)
at org.tmatesoft.svn.core.internal.io.fs.FSRepositoryUtil.copy(FSRepositoryUtil.java:111)
at org.tmatesoft.svn.core.internal.io.fs.FSRepository.getFile(FSRepository.java:222)
at org.tmatesoft.svn.core.wc.SVNWCClient.doGetFileContents(SVNWCClient.java:443)
at org.tmatesoft.svn.core.javahl.SVNClientImpl.fileContent(SVNClientImpl.java:1392)
at org.tigris.subversion.javahl.SVNClient.fileContent(SVNClient.java:295)
at com.cenqua.fisheye.svn.SvnThrottledClient.fileContent(SvnThrottledClient.java:208)
at com.cenqua.fisheye.svn.SvnCache.getBinaryRevision(SvnCache.java:366)
at com.cenqua.fisheye.web.ViewFileAction.doRawRequest(ViewFileAction.java:535)
at com.cenqua.fisheye.web.ViewFileAction.handleRequest(ViewFileAction.java:104)
at com.cenqua.fisheye.web.BaseAction.processRequest(BaseAction.java:149)
at com.cenqua.fisheye.web.ActionDispatcherServlet.doIt(ActionDispatcherServlet.java:240)
at com.cenqua.fisheye.web.ActionDispatcherServlet.doGet(ActionDispatcherServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
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$Chain.doFilter(ServletHandler.java:1144)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:140)
at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:192)
at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
at com.atlassian.studio.fisheye.web.SeraphRememberMeFilter.doFilter(SeraphRememberMeFilter.java:99)
at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
at com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:32)