Uploaded image for project: 'Lucee Development'
  1. LDEV-384

Hanging requests if debugging is enabled / Locking in ArrayImpl

    Details

    • Type: Bug
    • Status: Deployed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.5.1.019, 4.5.1.020
    • Fix Version/s: 4.5.1.021
    • Environment:

      Windows

      Description

      Requests are hanging (seem to have locking issues) if the Lucee Debugging is active.
      Could be a locking Problem in ArrayImpl?

      Please check the appended custom Debug template.

      Two stacktraces:

      lucee.runtime.type.ArrayImpl.duplicate(ArrayImpl.java:569)
      lucee.runtime.type.ArrayImpl.duplicate(ArrayImpl.java:557)

      • locked <0x2d38efb0> (a lucee.runtime.type.ArrayImpl)
        lucee.runtime.op.Duplicator.duplicate(Duplicator.java:126)
        lucee.runtime.type.QueryImpl.addColumn(QueryImpl.java:1092)
        lucee.runtime.type.QueryImpl.addColumn(QueryImpl.java:1080)
        lucee.runtime.debug.DebuggerImpl.getDebuggingData(DebuggerImpl.java:610)
        lucee.runtime.debug.DebuggerImpl.getDebuggingData(DebuggerImpl.java:304)
        lucee.runtime.debug.DebuggerImpl.writeOut(DebuggerImpl.java:251)
        lucee.runtime.listener.ModernAppListener.onDebug(ModernAppListener.java:376)
        lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2284)
        lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2226)
        lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:456)
        lucee.loader.servlet.CFMLServlet.service(null:???)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        sun.reflect.GeneratedMethodAccessor34.invoke(null:???)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:97)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:472)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:312)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:192)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:507)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
        sun.reflect.GeneratedMethodAccessor35.invoke(null:???)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:79)
        sun.reflect.GeneratedMethodAccessor33.invoke(null:???)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:53)
        com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:41)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:???)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
        org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:831)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2439)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2428)
      • locked <0x448399bc> (a org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:722)

      Locked ownable synchronizers:

      • java.util.concurrent.ThreadPoolExecutor$Worker@41d99c35

      lucee.runtime.type.ArrayImpl.enlargeCapacity(ArrayImpl.java:253)
      lucee.runtime.type.ArrayImpl.setE(ArrayImpl.java:231)

      • locked <0x812c5db> (a lucee.runtime.type.ArrayImpl)
        lucee.runtime.type.ArrayImpl.set(ArrayImpl.java:211)
        lucee.runtime.type.ArrayImpl.duplicate(ArrayImpl.java:569)
        lucee.runtime.type.ArrayImpl.duplicate(ArrayImpl.java:557)
      • locked <0x8347a0d> (a lucee.runtime.type.ArrayImpl)
        lucee.runtime.op.Duplicator.duplicate(Duplicator.java:126)
        lucee.runtime.type.QueryImpl.addColumn(QueryImpl.java:1092)
        lucee.runtime.type.QueryImpl.addColumn(QueryImpl.java:1080)
        lucee.runtime.debug.DebuggerImpl.getDebuggingData(DebuggerImpl.java:609)
        lucee.runtime.debug.DebuggerPool.store(DebuggerPool.java:47)
      • locked <0x41e2f6a2> (a lucee.runtime.debug.DebuggerPool)
        lucee.runtime.PageContextImpl.release(PageContextImpl.java:561)
        lucee.runtime.CFMLFactoryImpl.releaseLuceePageContext(CFMLFactoryImpl.java:176)
        lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:463)
        lucee.loader.servlet.CFMLServlet.service(null:???)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        sun.reflect.GeneratedMethodAccessor34.invoke(null:???)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:97)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:472)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:312)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:192)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:507)
        com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
        sun.reflect.GeneratedMethodAccessor35.invoke(null:???)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:79)
        sun.reflect.GeneratedMethodAccessor33.invoke(null:???)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:53)
        com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:41)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:???)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
        org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:831)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2439)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2428)
      • locked <0x448399bc> (a org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:722)

      Locked ownable synchronizers:

      • java.util.concurrent.ThreadPoolExecutor$Worker@41d99c35

        Attachments

          Activity

            People

            • Assignee:
              michaeloffner Michael Offner
              Reporter:
              HarryK Harry Klein
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: