Menu

#39 After glassbox Deploy CommonsLoggingOutput OutOfMemoryError

v2.0 Beta
open
nobody
None
6
2015-01-13
2008-12-14
No

I just tried out Glassbox 2.0.

#Glassbox Build Information
#Sat Jun 21 01:56:46 CDT 2008
build.time=01\:56\:46
build.number=2.0.442-BETA
build.date=Saturday Jun 21, 2008
build.timestamp=2008-06-21T01\:56\:46

Firefox 3.0.4

When using glassbox to monitor our application on Tomcat 6.0.18, I encountered the OutOfMemory error below. It had only been running the application for a a couple of minutes. I had logged in to our application and clicked a few of our menu options. I had also accessed the glassbox web application in a separate browser and was trying to sort by the Execution column. I had encountered one slow method in the ACEGI. Then the application froze with the OutOfMemory error.

This application does not run out of memory unless I monitor it with glassbox.

90645 [http-8080-1] WARN uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Method execution failed:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882) [na:1.6.0_07]
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) [na:1.6.0_07]
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390) [na:1.6.0_07]
at java.lang.StringBuffer.append(StringBuffer.java:224) [na:1.6.0_07]
at uk.ltd.getahead.dwr.convert.CollectionConverter.convertOutbound(CollectionConverter.java:198) [dwr.jar:na]
at uk.ltd.getahead.dwr.impl.DefaultConverterManager.convertOutbound(DefaultConverterManager.java:203) [dwr.jar:na]
at uk.ltd.getahead.dwr.impl.ExecuteQuery.execute(ExecuteQuery.java:241) [dwr.jar:na]
at uk.ltd.getahead.dwr.impl.DefaultExecProcessor.handle(DefaultExecProcessor.java:48) [dwr.jar:na]
at uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(DefaultProcessor.java:81) [dwr.jar:na]
at uk.ltd.getahead.dwr.AbstractDWRServlet.doPost(AbstractDWRServlet.java:162) [dwr.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) [servlet-api.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:na]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:na]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) [catalina.jar:na]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:na]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:na]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) [catalina.jar:na]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) [tomcat-coyote.jar:na]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) [tomcat-coyote.jar:na]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) [tomcat-coyote.jar:na]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_07]
91237 [http-8080-5] INFO uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Exec[0]: ColumnHelper.setColumnSorter()
90940 [http-8080-3] INFO uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Exec[0]: OperationHelper.getOperations()
93275 [http-8080-1] WARN uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Erroring: id[5909_1229247442418] message[uk.ltd.getahead.dwr.OutboundVariable@67bd23]
98675 [Thread-11] INFO com.ncr.enterprisereporting.schedulereport.ReportScheduleManagerThread - enters the while
xception in thread "pool-1-thread-3" java.lang.OutOfMemoryError: Java heap space
09491 [Timer-5] WARN glassbox.util.org.sl4j.CommonsLoggingAdapter - Unable to reconfigure using properties file c:\apache-tomcat-6.0.18\lib\glassbox\runtime.properties, using defaults
ava.lang.OutOfMemoryError: Java heap space
10100 [Thread-11] INFO com.ncr.enterprisereporting.schedulereport.ReportScheduleManagerThread - Stale and Fresh ReportSchedules are equal
17702 [http-8080-5] ERROR glassbox.util.org.sl4j.CommonsLoggingAdapter - failure Java heap space:
ava.lang.OutOfMemoryError: Java heap space
ec 14, 2008 4:37:55 AM org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler process
EVERE: Error reading request, ignored
ava.lang.OutOfMemoryError: Java heap space
xception in thread "http-8080-7" java.lang.NullPointerException
ec 14, 2008 4:37:55 AM org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor processChildren
EVERE: Exception invoking periodic operation:
ava.lang.OutOfMemoryError: Java heap space
20543 [http-8080-3] WARN uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Method execution failed:
ava.lang.OutOfMemoryError: Java heap space
at java.util.concurrent.ConcurrentLinkedQueue.offer(ConcurrentLinkedQueue.java:190)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler$1.offer(Http11Protocol.java:532)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler$1.offer(Http11Protocol.java:549)
ec 14, 2008 4:37:55 AM org.aspectj.weaver.tools.Jdk14Trace error
EVERE: org/apache/jsp/WEB_002dINF/jsp/userprofile_jsp
ava.lang.OutOfMemoryError: Java heap space
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:613)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
ec 14, 2008 4:37:56 AM org.aspectj.weaver.tools.Jdk14Trace info
NFO: Dumping to C:\apache-tomcat-6.0.18\bin\.\ajcore.20081214.043756.164.txt
20261 [http-8080-1] ERROR glassbox.util.org.sl4j.CommonsLoggingAdapter - failure Java heap space:
ava.lang.OutOfMemoryError: Java heap space
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:161) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
at glassbox.track.api.TreeTimeStatsImpl$TreeStats.recordSample(TreeTimeStatsImpl.java:169) [agent.jar:na]
20888 [http-8080-9] INFO uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Exec[0]: OperationHelper.getOperations()
20888 [http-8080-8] INFO uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Exec[0]: OperationHelper.getOperations()
20570 [http-8080-3] WARN uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Erroring: id[6999_1229247445830] message[uk.ltd.getahead.dwr.OutboundVariable@157fc7a]
22265 [Thread-11] INFO com.ncr.enterprisereporting.schedulereport.ReportScheduleManagerThread - enters the while
22888 [Thread-11] INFO com.ncr.enterprisereporting.schedulereport.ReportScheduleManagerThread - Stale and Fresh ReportSchedules are equal
23784 [http-8080-8] INFO uk.ltd.getahead.dwr.util.CommonsLoggingOutput - Exec[0]: OperationHelper.getOperations()

Discussion

  • Brian Brooks

    Brian Brooks - 2008-12-14
    • priority: 5 --> 6
     
  • Brian Brooks

    Brian Brooks - 2008-12-14

    The problem may be that the default startup_with_glassbox.bat uses the default maximum heap of 64MB. I think we typically run the application with 256MB.

    Below is the data from copied from the jconsole VM Summary tab of the environment running our application with glassbox monitoring.

    VM Summary
    Sunday, December 14, 2008 5:19:42 AM EST

    Connection name: 
    pid: 7272 org.apache.catalina.startup.Bootstrap start
    Virtual Machine: 
    Java HotSpot(TM) Client VM version 10.0-b23
    Vendor: 
    Sun Microsystems Inc.
    Name: 
    7272@moses
    Uptime: 
    2 minutes
    Process CPU time: 
    40.076 seconds
    JIT compiler: 
    HotSpot Client Compiler
    Total compile time: 
    3.088 seconds

    Live threads: 
     85
    Peak: 
     87
    Daemon threads: 
     67
    Total threads started: 
    112
    Current classes loaded: 
    11,528
    Total classes loaded: 
    11,591
    Total classes unloaded: 
        63

    Current heap size: 
    59,878 kbytes
    Maximum heap size: 
    65,088 kbytes
    Committed memory: 
    65,088 kbytes
    Pending finalization: 
    0 objects
    Garbage collector: 
    Name = 'Copy', Collections = 710, Total time spent = 1.601 seconds
    Garbage collector: 
    Name = 'MarkSweepCompact', Collections = 60, Total time spent = 13.511 seconds

    Operating System: 
    Windows Vista 6.0
    Architecture: 
    x86
    Number of processors: 
    4
    Committed virtual memory: 
    175,208 kbytes
    Total physical memory: 
    2,094,924 kbytes
    Free physical memory: 
      855,392 kbytes
    Total swap space: 
    4,194,303 kbytes
    Free swap space: 
    1,780,848 kbytes

    VM arguments: 
    -javaagent:c:\apache-tomcat-6.0.18\lib\aspectjweaver.jar -Daj.weaving.verbose=false -Dglassbox.install.dir=c:\apache-tomcat-6.0.18\lib\glassbox -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=c:\apache-tomcat-6.0.18\conf\logging.properties -Djava.endorsed.dirs=c:\apache-tomcat-6.0.18\endorsed -Dcatalina.base=c:\apache-tomcat-6.0.18 -Dcatalina.home=c:\apache-tomcat-6.0.18 -Djava.io.tmpdir=c:\apache-tomcat-6.0.18\temp
    Class path: 
    c:\Java\jdk1.6.0_07\lib\tools.jar;c:\apache-tomcat-6.0.18\bin\bootstrap.jar;c:\apache-tomcat-6.0.18\lib\aspectjweaver.jar
    Library path: 
    c:\Java\jdk1.6.0_07\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;c:\ruby\bin;d:\tools\apache-ant-1.7.1\bin;c:\Java\jdk1.6.0_07\bin;C:\Python25\Scripts;C:\Python25\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\TortoiseSVN\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\IDM Computer Solutions\UltraEdit-32;C:\Program Files\IDM Computer Solutions\UltraEdit\
    Boot class path: 
    c:\Java\jdk1.6.0_07\jre\lib\resources.jar;c:\Java\jdk1.6.0_07\jre\lib\rt.jar;c:\Java\jdk1.6.0_07\jre\lib\sunrsasign.jar;c:\Java\jdk1.6.0_07\jre\lib\jsse.jar;c:\Java\jdk1.6.0_07\jre\lib\jce.jar;c:\Java\jdk1.6.0_07\jre\lib\charsets.jar;c:\Java\jdk1.6.0_07\jre\classes

     
  • Brian Brooks

    Brian Brooks - 2008-12-14

    After updating the JAVA_OPTS line in startup_with_glassbox.bat with "-Xmx256m"

    set JAVA_OPTS=%JAVA_OPTS% "-Xmx256m" "-javaagent:%GLASSBOX_LIB_DIR%\aspectjweaver.jar" -Daj.weaving.verbose=false "-Dglassbox.install.dir=%GLASSBOX_HOME%"

    things seems to be working better.

    Maybe the glassbox install should be changed to set the maximum heap to 256m by default.

     

Log in to post a comment.

MongoDB Logo MongoDB