Odd Application Exception

We are seeing the following error show up in our catalina.out file every so often. It does not happen after every reap but when it does happen it is always the next set of info after a reap. Has anyone run into this and have an idea of where to go? I have Googled the ConcurrentModificationException error and the references I have found point to poor list manipulation (ie removing an item typically), but in my code I am not doing any list manipulation. We are running on Ubuntu,/Tomcat 7/Java 7/ACF10. Any suggestions on what to look into/for would be appreciated.

INFO coldbox.system.cache.providers.CacheBoxColdBoxProvider Starting to reap CacheBoxProvider: TEMPLATE, id: 2106407529 ExtraInfo:
INFO coldbox.system.cache.providers.CacheBoxColdBoxProvider Starting to reap CacheBoxProvider: default, id: 192712016 ExtraInfo:
INFO coldbox.system.cache.providers.CacheBoxColdBoxProvider Finished reap in 22ms for CacheBoxProvider: TEMPLATE, id: 2106407529 ExtraInfo:
INFO coldbox.system.cache.providers.CacheBoxColdBoxProvider Finished reap in 26ms for CacheBoxProvider: default, id: 192712016 ExtraInfo:
ERROR Execution Exception
CFErrorType=java.util.ConcurrentModificationException
CFStackTrace=java.util.ConcurrentModificationException
at java.util.Vector$Itr.checkForComodification(Vector.java:1156)
at java.util.Vector$Itr.next(Vector.java:1133)
at coldfusion.monitor.memory.MemoryTrackerProxy.reload(MemoryTrackerProxy.java:403)
at coldfusion.monitor.memory.MemoryTrackerProxy.reload(MemoryTrackerProxy.java:381)
at coldfusion.monitor.memory.MemoryCalculator.calculateMemory(MemoryCalculator.java:127)
at coldfusion.monitor.memory.MemoryCalculator.calculateMemory(MemoryCalculator.java:30)
at coldfusion.monitor.memory.MemoryTrackerProxy.onAddObject(MemoryTrackerProxy.java:277)
at coldfusion.monitor.memory.MemoryTrackerProxy.reload(MemoryTrackerProxy.java:424)
at coldfusion.monitor.memory.MemoryTrackerProxy.reload(MemoryTrackerProxy.java:381)
at coldfusion.monitor.memory.MemoryCalculator.calculateMemory(MemoryCalculator.java:127)
at coldfusion.monitor.memory.MemoryCalculator.calculateMemory(MemoryCalculator.java:30)
at coldfusion.monitor.memory.MemoryTrackerProxy.onAddObject(MemoryTrackerProxy.java:277)
at coldfusion.monitor.memory.MemoryTrackerProxy.reload(MemoryTrackerProxy.java:424)
at coldfusion.monitor.memory.MemoryTrackerProxy.reload(MemoryTrackerProxy.java:381)
at coldfusion.monitor.memory.MemoryCalculator.calculateMemory(MemoryCalculator.java:127)
at coldfusion.monitor.memory.MemoryCalculator.calculateMemory(MemoryCalculator.java:30)
at coldfusion.monitor.memory.MemoryTrackerProxy.onAddObject(MemoryTrackerProxy.java:277)
at coldfusion.runtime.NeoPageContext.setVariableScope(NeoPageContext.java:1559)
at coldfusion.runtime.TemplateProxy.setupScopesForInvoke(TemplateProxy.java:793)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2432)
at cfColdbox2ecfc1219395504$funcPROCESSCOLDBOXREQUEST.runFunction(/coldbox/system/Coldbox.cfc:184)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2659)
at cfColdbox2ecfc1219395504$funcONREQUESTSTART.runFunction(/coldbox/system/Coldbox.cfc:382)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2432)
at cfApplication2ecfc1736013704$funcONREQUESTSTART.runFunction(/Application.cfc:77)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108)
at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:278)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:417)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
CFTagContext=ID: CF_TEMPLATEPROXY; LINE: 184; TEMPLATE: /coldbox/system/Coldbox.cfc
ID: CF_UDFMETHOD; LINE: 382; TEMPLATE: /coldbox/system/Coldbox.cfc
ID: CF_TEMPLATEPROXY; LINE: 77; TEMPLATE: /Application.cfc ExtraInfo:

Thanks

-Ed Andrade

Do you have memory tracking enabled in your CF Server Monitor? If so, turn it off! I don’t know if that will cause the error in question, but it should greatly speed up your server.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Ugh, I assume that since this was a production machine the log came from that the memory tracking/etc was turned off, but it was ON! I just flipped it off and will have my client monitor for future instances of this. Hopefully that was all it was.

Thanks for the prompt to double check the obvious!

-Ed Andrade