I am experiencing some pretty severe memory leaks when running ConcourseSuite 6.2 (20111022) Community Edition after a fresh installation.
My installation details are below:
OS: Mac OSX 10.7.5
Java: Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
App Server: Apace Tomcat 6.0.36
DB Server: Postgres 8.4.14
After doing all the pre-installation prep (DB setup, etc), I start Tomcat with the given Java memory options: -Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=1024m
Plenty of memory for most any web app, even a memory hungry one.
When clicking around through the webapp, I immediately experience memory leaks when attempting to access more than one or two module pages (by selecting module tab across the top). I can get around this (after restarting the server) by changing the default view of the modules to the "View" option before clicking through the modules. I am also able to carry out most admin and other functions that deal with simple pages. The moment I attempt to view the "Dashboard" or "Overview" view of any particular module, the app hangs indefinitely and I am presented with an out of memory error in the app server logs, as seen below:
2012-11-06 13:03:03 INFO com.concursive.crm.indexer.jobs.IndexerJob - Executing indexer...
2012-11-06 13:03:03 INFO com.concursive.crm.indexer.jobs.CRMIndexerJob - Executing CRM Indexer...
Loading Lucene RAM index...
Using crm index...
java.lang.RuntimeException: field "nameLower" does not appear to be indexed
at org.apache.lucene.search.ExtendedFieldCacheImpl$5.createValue(ExtendedFieldCacheImpl.java:156)
at org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:72)
at org.apache.lucene.search.ExtendedFieldCacheImpl.getAuto(ExtendedFieldCacheImpl.java:110)
at org.apache.lucene.search.FieldSortedHitQueue.comparatorAuto(FieldSortedHitQueue.java:420)
at org.apache.lucene.search.FieldSortedHitQueue$1.createValue(FieldSortedHitQueue.java:185)
at org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:72)
at org.apache.lucene.search.FieldSortedHitQueue.getCachedComparator(FieldSortedHitQueue.java:168)
at org.apache.lucene.search.FieldSortedHitQueue.<init>(FieldSortedHitQueue.java:56)
at org.apache.lucene.search.TopFieldDocCollector.<init>(TopFieldDocCollector.java:43)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:122)
at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:100)
at org.apache.lucene.search.Hits.<init>(Hits.java:77)
at org.apache.lucene.search.Searcher.search(Searcher.java:55)
at com.concursive.crm.indexer.LuceneIndexerSearch.search(Unknown Source)
at com.concursive.crm.web.modules.accounts.actions.Accounts.executeCommandViewAll(Unknown Source)
at com.concursive.crm.web.modules.accounts.actions.Accounts.executeCommandDefault(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.concursive.crm.web.controller.servlets.ControllerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.concursive.crm.web.controller.filters.ClientTypeRequestFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:680)
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
--- value: 3
Using crm index...
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.concursive.crm.web.controller.servlets.ControllerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.concursive.crm.web.controller.filters.ClientTypeRequestFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.OutOfMemoryError: PermGen space
at sun.awt.AWTAccessor.getComponentAccessor(AWTAccessor.java:546)
at javax.swing.UIManager.initialize(UIManager.java:1465)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1410)
at javax.swing.UIManager.getDefaults(UIManager.java:645)
at javax.swing.UIManager.getColor(UIManager.java:687)
at org.jfree.chart.JFreeChart.<clinit>(JFreeChart.java:250)
at org.jfree.chart.ChartFactory.createTimeSeriesChart(ChartFactory.java:1646)
at com.concursive.crm.web.modules.leads.actions.Sales.executeCommandDashboard(Unknown Source)
... 21 more
Exception. MESSAGE = null
> No Action found, so doing nothing.
This is a fairly fatal exception as the JVM becomes rogue even after attempting to shutdown Tomcat. It must be killed with a term signal.
Wondering if anyone else out there is exeperiencing this problem and whether there are any solutions to it.