3 Replies Latest reply on Apr 16, 2013 6:08 AM by MortenBraten

    Bug in Apex Listener 2.0.1 ? get_page FAILED:ORA-06502 on random page views

    MortenBraten
      Hi,

      Apex 4.1.1 on Oracle XE 10g
      Apex Listener 2.0.1.64.14.26 in standalone mode on Win XP SP3

      I've been using the Apex Listener 1.x standalone for a long time, but recently replaced it with 2.0.1. It was running fine for some days, but now I am starting to see "internal server errors" on more or less random pages (but probably having to do with a page size around 32K, see below).

      I turned on debug output and that shows the following on a failing page:
      Validating: f
      *** Total number of arguments: 15
      SID: 30
      Parse: 0 ms
      -----
      begin 
       f(cs=>?,
      p=>?);
      commit;
        end;
      *** Total number of arguments: 15
      cs= 32CFCBEE788B5991B673D4A617BBA7740
      p= 400:311:1167141970125201::NO::P311_COURSE_ID:141
      Exec: 140 ms
      get_page FAILED:ORA-06502: PL/SQL: numeric or value error: character string buffer too small
      ORA-06512: at line 33
      java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
      ORA-06512: at line 33
      
           at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
           at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
           at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
           at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:505)
           at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:223)
           at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
           at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:205)
           at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1043)
           at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
           at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3612)
           at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3713)
           at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4755)
           at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
           at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:242)
           at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)
           at oracle.ucp.jdbc.proxy.CallableStatementProxyFactory.invoke(CallableStatementProxyFactory.java:101)
           at com.sun.proxy.$Proxy46.execute(Unknown Source)
           at oracle.dbtools.apex.OWA.getPage(OWA.java:255)
           at oracle.dbtools.apex.ModApex.handleRequest(ModApex.java:204)
           at oracle.dbtools.apex.ModApex.doGet(ModApex.java:97)
           at oracle.dbtools.apex.ModApex.service(ModApex.java:302)
           at oracle.dbtools.rt.web.HttpEndpointBase.modApex(HttpEndpointBase.java:337)
           at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:130)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
           at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1059)
           at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:999)
           at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:434)
           at oracle.dbtools.standalone.SecureServletAdapter.doService(SecureServletAdapter.java:65)
           at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:379)
           at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
           at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:196)
           at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
           at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
           at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
           at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
           at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
           at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
           at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
           at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
           at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
           at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
           at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
           at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
           at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
           at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
           at java.lang.Thread.run(Unknown Source)
      ==== Request Processed ====
      Got results length: NULL
      Processed PL/SQL Gateway request
      WebException [statusCode=500]
           at oracle.dbtools.rt.web.WebException.webException(WebException.java:326)
           at oracle.dbtools.rt.web.WebException.internalError(WebException.java:245)
           at oracle.dbtools.rt.web.WebErrorResponse.internalError(WebErrorResponse.java:101)
           at oracle.dbtools.apex.ModApexContext.handleError(ModApexContext.java:475)
           at oracle.dbtools.apex.OWA.getPage(OWA.java:265)
           at oracle.dbtools.apex.ModApex.handleRequest(ModApex.java:204)
           at oracle.dbtools.apex.ModApex.doGet(ModApex.java:97)
           at oracle.dbtools.apex.ModApex.service(ModApex.java:302)
           at oracle.dbtools.rt.web.HttpEndpointBase.modApex(HttpEndpointBase.java:337)
           at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:130)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
           at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1059)
           at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:999)
           at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:434)
           at oracle.dbtools.standalone.SecureServletAdapter.doService(SecureServletAdapter.java:65)
           at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:379)
           at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
           at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:196)
           at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
           at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
           at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
           at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
           at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
           at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
           at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
           at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
           at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
           at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
           at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
           at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
           at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
           at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
           at java.lang.Thread.run(Unknown Source)
      Caused by: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
      ORA-06512: at line 33
      
           at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
           at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
           at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
           at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:505)
           at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:223)
           at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
           at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:205)
           at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1043)
           at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
           at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3612)
           at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3713)
           at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4755)
           at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
           at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:242)
           at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)
           at oracle.ucp.jdbc.proxy.CallableStatementProxyFactory.invoke(CallableStatementProxyFactory.java:101)
           at com.sun.proxy.$Proxy46.execute(Unknown Source)
           at oracle.dbtools.apex.OWA.getPage(OWA.java:255)
           ... 28 more
      This looks an awful lot like the same problem that was present in an early version of the 1.x listener, as described in this thread:

      Listener Error - character string buffer too small (ORA-06502)

      I thought this problem was fixed a long time ago, so I was surprised to see it again on the very latest release of the Listener. Is the any way I can work around this, or provide more information to get this bug confirmed and fixed?

      - Morten

      http://ora-00001.blogspot.com