This discussion is archived
3 Replies Latest reply: Apr 15, 2013 11:08 PM by mobra RSS

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

mobra Journeyer
Currently Being Moderated
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
  • 1. Re: Bug in Apex Listener 2.0.1 ? get_page FAILED:ORA-06502 on random page views
    mobra Journeyer
    Currently Being Moderated
    Bump. Am I the only one still seeing this error?

    I've noticed that the "Bugs Fixed" document for Apex Listener 2.0.1

    http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/apex-listener-v201-bugsfixed-1905086.html

    says

    +"Support the handling of responses around 32KB in size on Oracle 10.2 database"+

    But I am still seeing this problem on Apex Listener 2.0.1.64.14.26 on Oracle XE 10g.

    After some more testing I've found that the error doesn't happen as long as I run the Apex Builder or my own app using English as the primary language, but when I switch to a translated app (Norwegian in my case) I hit this error on pages that are around 32K.

    - Morten

    http://ora-00001.blogspot.com
  • 2. Re: Bug in Apex Listener 2.0.1 ? get_page FAILED:ORA-06502 on random page views
    Colm Divilly Journeyer
    Currently Being Moderated
    Hi Morten,
    thank you for your problem report, I can confirm there is a regression in 2.0.0/2.0.1 with the handling of responses where the number of characters is <= 32766 but the number of bytes (due to multi-byte UTF8 encoding) is > 32766.

    I have filled BUG:16655432 to track this issue, it will be addressed in the next listener patch release.

    Regards,
    Colm Divilly
  • 3. Re: Bug in Apex Listener 2.0.1 ? get_page FAILED:ORA-06502 on random page views
    mobra Journeyer
    Currently Being Moderated
    Colm Divilly wrote:
    thank you for your problem report, I can confirm there is a regression in 2.0.0/2.0.1 with the handling of responses where the number of characters is <= 32766 but the number of bytes (due to multi-byte UTF8 encoding) is > 32766.

    I have filled BUG:16655432 to track this issue, it will be addressed in the next listener patch release.
    Excellent, thanks for confirming and filing the bug!

    - Morten

    http://ora-00001.blogspot.com

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points