RE: Making changes to themes, modules, widgets on a constant basis hangs ColdFusion 9.01

Fusion Reactor allows you to get a stack trace for running requests. I use SeeFusion so I’m not sure how the interface works for FR.

~Brad

Something like this?

**Thread Stack Trace**
Trace Time:   02:33:26.287 30-Mar-2012
Request ID:   542
Script Name:  [http://192.168.2.10:81/index.cfm/blog](http://192.168.2.10:81/index.cfm/blog)

Started:      02:33:12.187 30-Mar-2012
Exec Time:    14100ms
Memory Used:  (25%)471,590KB
Memory Free:  1,392,601KB
Thread ID:    0x162 (354)
Thread Name:  jrpp-194
Priority:     5
Hashcode:     331389946

State:        BLOCKED

"jrpp-194" prio=5 waiting for monitor entry

coldfusion.server.j2ee.sql.pool.JDBCPool.checkOut(JDBCPool.java:350)
- waiting on <0x4bbb5531> (a coldfusion.server.j2ee.sql.pool.JDBCPool held by thread 584, jrpp-225)
coldfusion.server.j2ee.sql.pool.JDBCPool.requestConnection(JDBCPool.java:795)

coldfusion.server.j2ee.sql.pool.JDBCManager.requestConnection(JDBCManager.java:125)

coldfusion.server.j2ee.sql.JRunDataSource.getConnection(JRunDataSource.java:138)

coldfusion.sql.CFDataSource.getConnection(CFDataSource.java:42)

coldfusion.sql.DataSrcImpl.getCachedConnection(DataSrcImpl.java:154)

coldfusion.sql.DataSrcImpl.getConnection(DataSrcImpl.java:103)

coldfusion.orm.hibernate.CFConnectionProvider.getConnection(CFConnectionProvider.java:69)

org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)

org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)

org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)

org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1596)

org.hibernate.loader.Loader.doQuery(Loader.java:717)

org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)

org.hibernate.loader.Loader.doList(Loader.java:2294)

org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172)

org.hibernate.loader.Loader.list(Loader.java:2167)

org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)

org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)

org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)

org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258)

org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)

org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:859)

coldfusion.orm.hibernate.HibernatePersistenceManager._executeHQL(HibernatePersistenceManager.java:823)

coldfusion.orm.hibernate.HibernatePersistenceManager.executeHQL(HibernatePersistenceManager.java:752)

coldfusion.orm.hibernate.HibernatePersistenceManager.executeQueryWithNamedParams(HibernatePersistenceManager.java:627)

coldfusion.orm.ORMUtils._executeQuery(ORMUtils.java:332)

coldfusion.orm.ORMUtils.executeQuery(ORMUtils.java:320)

coldfusion.runtime.CFPage.ORMExecuteQuery(CFPage.java:7792)

cfBaseORMService2ecfc797337663$funcCOUNTWHERE.runFunction(E:\projects\ColdFusion\ContentBox\coldbox\system\orm\hibernate\BaseORMService.cfc:825)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2547)

coldfusion.runtime.SuperScope.invoke(SuperScope.java:18)

coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)

cfVirtualEntityService2ecfc1221224749$funcCOUNTWHERE.runFunction(E:\projects\ColdFusion\ContentBox\coldbox\system\orm\hibernate\VirtualEntityService.cfc:159)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2547)

cfSettingService2ecfc2082100995$funcISCBREADY.runFunction(E:\projects\ColdFusion\ContentBox\modules\contentbox\model\system\SettingService.cfc:49)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

cfCBRequest2ecfc729544649$funcPREPROCESS.runFunction(E:\projects\ColdFusion\ContentBox\modules\contentbox-ui\interceptors\CBRequest.cfc:21)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)

coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)

coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:389)

cfInterceptorState2ecfc1012062132$funcINVOKER.runFunction(E:\projects\ColdFusion\ContentBox\coldbox\system\web\context\InterceptorState.cfc:139)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)

cfInterceptorState2ecfc1012062132$funcPROCESS.runFunction(E:\projects\ColdFusion\ContentBox\coldbox\system\web\context\InterceptorState.cfc:86)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

cfInterceptorService2ecfc286824928$funcPROCESSSTATE.runFunction(E:\projects\ColdFusion\ContentBox\coldbox\system\web\services\InterceptorService.cfc:128)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

cfColdbox2ecfc131557596$funcPROCESSCOLDBOXREQUEST.runFunction(E:\projects\ColdFusion\ContentBox\coldbox\system\Coldbox.cfc:208)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

cfApplication2ecfc632301599$funcONREQUESTSTART.runFunction(E:\projects\ColdFusion\ContentBox\Application.cfc:100)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:88)

coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:258)

coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:349)

coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)

coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)

coldfusion.filter.PathFilter.invoke(PathFilter.java:94)

coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)

coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)

coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)

coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)

coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)

coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)

coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)

coldfusion.CfmServlet.service(CfmServlet.java:200)

coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)

jrun.servlet.FilterChain.doFilter(FilterChain.java:86)

com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.java:428)

com.intergral.fusionreactor.filter.FusionReactorFilter.d(FusionReactorFilter.java:262)

com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:171)

jrun.servlet.FilterChain.doFilter(FilterChain.java:94)

coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)

coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)

jrun.servlet.FilterChain.doFilter(FilterChain.java:94)

jrun.servlet.FilterChain.service(FilterChain.java:101)

jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)

jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)

jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)

jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)

jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)

jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)

jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

K looks like the block is at the jdbc level. How many threads can your db handle?

Not sure to be honest, but I have set mysql to 10000 max connections. The problem actually appears to be CF is creating a new thread and connection each time. So after awhile it hits the limit.

Which is making sense, because if I sit there and hit refresh on ContentBox after awhile it hits this state. From what I am reading is that if a query uses a username and password, then it will create a new connection thread. That means even though I am one user, hitting refresh, it is actually appears to be opening mutliple connections. I might be wrong but that is what appears to be happening.

Ok my last test for the night…

Rebooted the server, setup meter to make 20 concurrent connections. And Fusion Reactor is still showing slow requests as shown earlier. Looked into the logs and there is nothing in the logs.

Back to square one.