1 Reply Latest reply on Mar 29, 2014 5:23 AM by BKBK

    Tomcat internal error on CF10 - InvalidArrayIndexException

    Aquitaine Level 1

      CF10 update 12 running on Windows Server 2012 x64. This is a legacy app that is just doing some basic CRUD and has a handful of form fields - a coupe of selects, a couple of radio buttons. It gets used once a year. Last year we would've been on CF10 with whatever update was current as of March 2013.

       

      When submitting the form, we get a Tomcat HTTP 500 error with the following text.

       

      I'm not able catch or abort anything since the error is coming out of Tomcat and not CF. I have insured that the isapi_redirect.dll connector has been rebuilt; I've restarted the server and CF admin has nothing unusual going on - nor are we sending much data to begin with. We have other pages on the same server processing thousands of form fields with no problem.

       

      Any suggestions on where to look here?

       

      "Severity","ThreadID","Date","Time","Application","Message"

      "Information","ajp-bio-8012-exec-27","03/27/14","12:30:50",,"C:\ColdFusion10\cfusion\logs\ coldfusion-error.log initialized"

      Mar 27, 2014 12:30:52 PM org.apache.catalina.core.StandardWrapperValve invoke

      SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [/] threw exception [ROOT CAUSE:

      coldfusion.runtime.InvalidArrayIndexException: Cannot access array element at position 1.

                at coldfusion.runtime.Array.ArrayInsertAt(Array.java:307)

                at coldfusion.filter.FormScope.parseHTMLFormData(FormScope.java:629)

                at coldfusion.filter.FormScope.fillForm(FormScope.java:397)

                at coldfusion.filter.FusionContext.SymTab_initForRequest(FusionContext.java:464)

                at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:33)

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

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

                at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:151)

                at coldfusion.CfmServlet.service(CfmServlet.java:219)

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

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava: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.j ava:243)

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)

                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204)

                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:539)

                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)

                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)

      ] with root cause

      javax.servlet.ServletException: ROOT CAUSE:

      coldfusion.runtime.InvalidArrayIndexException: Cannot access array element at position 1.

                at coldfusion.runtime.Array.ArrayInsertAt(Array.java:307)

                at coldfusion.filter.FormScope.parseHTMLFormData(FormScope.java:629)

                at coldfusion.filter.FormScope.fillForm(FormScope.java:397)

                at coldfusion.filter.FusionContext.SymTab_initForRequest(FusionContext.java:464)

                at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:33)

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

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

                at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:151)

                at coldfusion.CfmServlet.service(CfmServlet.java:219)

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

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava: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.j ava:243)

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)

                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204)

                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:539)

                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)

                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)

       

       

                at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:70 )

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

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:243)

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)

                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204)

                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:539)

                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)

                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)

        • 1. Re: Tomcat internal error on CF10 - InvalidArrayIndexException
          BKBK Adobe Community Professional & MVP

          I don't know how it happened. However, it is quite clear what causes the exception: system code of the form

           

          <cfset arr=arraynew(1)>

          <cfset isInserted = arrayInsertAt(arr,1,someValue)>

           

          I would therefore report it as a bug. Include the stack trace in your report and any other available information. The logs might give you more information about the exception. For example, use the relevant dates and times from the stack trace to investigate the corresponding entries in the runtime logs at \cfusion\runtime\logs\.