Forum Stats

  • 3,838,691 Users
  • 2,262,394 Discussions
  • 7,900,733 Comments

Discussions

java.lang.ArrayIndexOutOfBoundsException: -32503

2»

Comments

  • 585768
    585768 Member Posts: 4
    I tried to apply the patch but am getting the following error:

    mymc:/oracle/patch/6396242# su - oracle -bash-3.00$ /u01/oracle/product/11.1/OPatch/opatch apply Invoking OPatch 11.1.0.6.0

    Oracle Interim Patch Installer version 11.1.0.6.0 Copyright (c) 2007, Oracle Corporation. All rights reserved.


    Oracle Home : /u01/oracle/product/11.1
    Central Inventory : /u01/oraInventory
    from : /var/opt/oracle/oraInst.loc
    OPatch version : 11.1.0.6.0
    OUI version : 11.1.0.6.0
    OUI location : /u01/oracle/product/11.1/oui
    Log file location :
    /u01/oracle/product/11.1/cfgtoollogs/opatch/opatch2008-04-21_11-10-36AM.log

    ApplySession applying interim patch '6396242' to OH '/u01/oracle/product/11.1'

    Running prerequisite checks...
    Prerequisite check "CheckApplicable" failed.
    The details are:
    Patch 6396242: Required component(s) missing : [ oracle.dbjava.rsf, 10.2.0.4.0 ] ApplySession failed during prerequisite checks: Prerequisite check "CheckApplicable" failed.
    System intact, OPatch will not attempt to restore the system

    OPatch failed with error code 74

    Can anyone help me in this regard?

    Thanks in advance.
  • 656666
    656666 Member Posts: 1
    I found that if I throw a random comment in the sql statement to force the driver to use a new statement for each batch it goes away.

    Something along these lines...

    StringBuilder builder = new StringBuilder("INSERT INTO /* ).append(Math.random()).append(" */ ( columns...) VALUES( values..)");

    conn.prepareStatement(builder.toString());
  • 668022
    668022 Member Posts: 1
    Does anyone know if there's a patch for the 10 driver series? I see this error on 10.2.0.4.0 and do not see a new driver version available.

    Thanks,

    Eric
  • 674498
    674498 Member Posts: 1
    Hi all,

    I'm getting the same (or similar) error:

    java.lang.ArrayIndexOutOfBoundsException: -32403
    at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2673)
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10723)

    My driver is ojdbc14.jar, version is 10.2.0.4.0, just like the previous poster.

    I'm also looking for a patch. Any pointers would be greatly appreciated.

    Regards,
    Erik
  • 14736
    14736 Member Posts: 85
    Have you tried the latest 11.1.0.7 driver? http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_111060.html

    The readme indicates the patch was included for BUG-6396242.

    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/111070_readme.html

    -Mark
  • 705912
    705912 Member Posts: 3
    Hi I experience the same problem than Erik and the other.
    I use the jdbc 10.2.0.4.0 to load data (actually serialised objects) from java to my oracle database.

    Every times I go beyond 200 objects (which is nothing) I receive the same Exception, following a short version

    ERROR [Thread-1] (LoaderTuplesNodes.java:345) - Error in thread: -32713
    java.lang.ArrayIndexOutOfBoundsException: -32713
    at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2673)
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10689)
    at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.flush(TupleLoaderBase.java:200)
    at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.finish(TupleLoaderBase.java:155)
    at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.commitTuples(LoaderTuplesNodes.java:283)
    at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.access$100(LoaderTuplesNodes.java:31)
    at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes$Commiter.run(LoaderTuplesNodes.java:318)
    at java.lang.Thread.run(Unknown Source)
    2009.06.09 14:59:27 Source1Wrapper extract ------
    java.lang.ArrayIndexOutOfBoundsException: -32713
    at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2673)
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10689)
    at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.flush(TupleLoaderBase.java:200)
    at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.finish(TupleLoaderBase.java:155)
    at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.commitTuples(LoaderTuplesNodes.java:283)
    at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.access$100(LoaderTuplesNodes.java:31)
    at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes$Commiter.run(LoaderTuplesNodes.java:318)
    at java.lang.Thread.run(Unknown Source)
    ------

    Is there any patch ? What should we (users of jdbc 1.4) do ?
    thanks
  • 142612
    142612 Member Posts: 5
    The 10g driver apparently keeps a global serial number for all parameters in the entire batch, with a "short" variable. So you can have at most 32768 parameters in the batch. I was having the same exception because I have a INSERT statement with 42 parameters and my batches can be as big as 1000 records, so 42000 > 32768 and this overflows to a negative index. I reduced the batch factor to 100 to be safe, and all is well. I guess your update DML should have a larger number of parameters per record, right? (My diagnostic of the bug is just deduction from the symptoms)
  • 734271
    734271 Member Posts: 1
    I downloaded and installed Oracle 10g release 2 from the official website. The JDBC version is 10.2.0.1.0 which contains BUG-6396242. I want to upgrade the JDBC to version 11.1.0.7.0. However, it's from Oracle Database 11g Release 1. And I don't have the Metalink account. How can I upgrade it?
This discussion has been closed.