liuzhe02 / bigbluebutton

Automatically exported from code.google.com/p/bigbluebutton
0 stars 0 forks source link

Preuploaded large files through api throws exception and meeting could not be started #1514

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
While trying to start a meeting by uploading a pdf of size 5MB (actually > 3 
MB) it is observed that grails app throws exception and meeting does not start.

This is the API response.
=========================================

BigBlueButtonAPI: URL response = <html>
  <head>
      <title>Grails Runtime Exception</title>
      <style type="text/css">
            .message {
                border: 1px solid black;
                padding: 5px;
                background-color:#E9E9E9;
            }
            .stack {
                border: 1px solid black;
                padding: 5px;           
                overflow:auto;
                height: 300px;
            }
            .snippet {
                padding: 5px;
                background-color:white;
                border:1px solid black;
                margin:3px;
                font-family:courier;
            }
      </style>
  </head>

  <body>
    <h1>Grails Runtime Exception</h1>
    <h2>Error Details</h2>
    <div class="message">
        <strong>Message:</strong> Java heap space <br />
        <strong>Caused by:</strong> java.lang.OutOfMemoryError: Java heap space <br />
        <strong>Class:</strong> ApiController <br />                
        <strong>At Line:</strong> [1020] <br />         
        <strong>Code Snippet:</strong><br />        
        <div class="snippet">

        </div>          
    </div>
    <h2>Stack Trace</h2>
    <div class="stack">
      <pre>org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: Java heap space<br/> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)<br/>   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)<br/>   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)<br/>    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)<br/>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:384)<br/>    at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:183)<br/>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br/> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br/> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br/>   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br/>   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br/>   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)<br/> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)<br/>  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)<br/>    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)<br/> at java.lang.Thread.run(Thread.java:679)<br/>Caused by: java.lang.OutOfMemoryError: Java heap space<br/>    at java.util.Arrays.copyOf(Arrays.java:2894)<br/>   at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br/>  at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br/>  at java.lang.StringBuffer.append(StringBuffer.java:241)<br/>    at org.apache.log4j.helpers.PatternParser$LiteralPatternConverter.format(PatternParser.java:420)<br/>   at org.apache.log4j.PatternLayout.format(PatternLayout.java:502)<br/>   at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:302)<br/>  at org.apache.log4j.WriterAppender.append(WriterAppender.java:160)<br/> at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)<br/>   at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)<br/>   at org.apache.log4j.Category.callAppenders(Category.java:206)<br/>  at org.apache.log4j.Category.forcedLog(Category.java:391)<br/>  at org.apache.log4j.Category.log(Category.java:856)<br/>    at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:597)<br/>  at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:120)<br/> at org.bigbluebutton.web.controllers.ApiController.uploadDocuments(ApiController.groovy:1020)<br/></pre>
    </div>
  </body>
</html>

===============================================

This issue is also reproducible by uploading a file of size 3-4 MB from the 
demo example - http://demo.bigbluebutton.org/demo/demo7.jsp

Original issue reported on code.google.com by udayaki...@expertus.com on 20 May 2013 at 11:15

GoogleCodeExporter commented 9 years ago
I believe this issues is also in 0.81-beta.

Original comment by andrew.b...@gmail.com on 23 Jul 2013 at 8:49

GoogleCodeExporter commented 9 years ago
Can you reproduce this on http://demo.bigbluebutton.org/ (now running 0.81-RC3)?

Original comment by ffdixon@gmail.com on 11 Oct 2013 at 3:03

GoogleCodeExporter commented 9 years ago
Hi, I could reproduce this today with demo.bigbluebutton.org with a pdf file of 
size  7.3 MB. Also, i am sure it happens for size > 4 MB. Attached the 
screenshot of what i see after uploading the file and click join button from 
the page - http://demo.bigbluebutton.org/demo/demo7.jsp

Original comment by udayaki...@expertus.com on 11 Oct 2013 at 5:16

Attachments: