kinyelo / vosao

Automatically exported from code.google.com/p/vosao
GNU Lesser General Public License v2.1
1 stars 2 forks source link

OutOfMemoryError when viewing large files in admin #375

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Upload a large ZIP file. We are uploading a ~9MB file
2. Browse to the file in admin, /cms/file.vm

What is the expected output? 
Form to edit the file metadata with editable field filled and display an 
external link (btw, typo in admin: "Exrernal"). 

What do you see instead?
Empty Title and Name filed, no metadata or external link. 
Error message:
Alert! Can't connect to server. Error: Internal Server Error Internal Server 
Error 500 undefined

Server log:
Error for /JSON-RPC/
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:2894)
    at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:589)
    at java.lang.StringBuffer.append(StringBuffer.java:337)
    at org.json.JSONObject.toString(JSONObject.java:1152)
    at org.json.JSONObject.valueToString(JSONObject.java:1283)
    at org.json.JSONObject.toString(JSONObject.java:1157)
    at org.jabsorb.JSONRPCResult.toString(JSONRPCResult.java:251)
    at org.jabsorb.JSONRPCServlet.service(JSONRPCServlet.java:298)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at org.vosao.filter.SiteFilter.doFilter(SiteFilter.java:106)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.ServiceFilter.doFilter(ServiceFilter.java:57)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:86)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.PluginCronFilter.doFilter(PluginCronFilter.java:74)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.LanguageFilter.doFilter(LanguageFilter.java:69)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.UpdateFilter.doFilter(UpdateFilter.java:77)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.InitFilter.doFilter(InitFilter.java:81)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.vosao.filter.ContextFilter.doFilter(ContextFilter.java:69)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

Original issue reported on code.google.com by vidarsv...@gmail.com on 12 Nov 2010 at 8:59

GoogleCodeExporter commented 9 years ago
Here is a patch. Basically we only serialize the content to JSON if the file is 
a text file.

Original comment by vidarsv...@gmail.com on 12 Nov 2010 at 9:39

Attachments:

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r938.

Original comment by kinyelo@gmail.com on 26 Nov 2010 at 10:19