ResultSet.previous() - ArrayIndexOutOfBoundsException - Mailing list pgsql-jdbc

From Fischer Krisztián
Subject ResultSet.previous() - ArrayIndexOutOfBoundsException
Date
Msg-id 400BE50B.9020303@borganization.com
Whole thread Raw
Responses Re: ResultSet.previous() - ArrayIndexOutOfBoundsException  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
Hi!

I use PostgreSQL 7.4.1 through the shipped JDBC driver. In some
circumstances the driver throws the following exception:

[...]
java.lang.ArrayIndexOutOfBoundsException: 1 >= 0
         at java.util.Vector.elementAt(Vector.java:431)
         at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.previous(AbstractJdbc2ResultSet.java:495)
         at
com.bh.server.implementation.SQLObject.previousRow(SQLObject.java:583)
         at com.bh.server.implementation.DSF3.getBlock(DSF3.java:3916)
         at
com.bh.server.implementation.DSF3.getPreviousBlock(DSF3.java:2302)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
[...]

I wrote a lot's of test, but i cannot reproduce the problem in a simple
form. However my real application (a quite huge one) produces the
exception above constantly. I guessed it's related to some
synchronization issue, but after making my ResultSet-wrapper object
thread safe, the problem still exists. So maybe it's a bug in the driver.

Has anyone such 'experiences'? Or some tips where do i mess it up?

Thanks in advance.

--
Fischer Krisztián <fischer@borganization.com>
Tel: (+36)70/3843835, (+36)1/3360547
Borganization Kft.


pgsql-jdbc by date:

Previous
From: dinakar
Date:
Subject: clarification needed in postgresql... + transactions...
Next
From: Kris Jurka
Date:
Subject: Re: ResultSet.previous() - ArrayIndexOutOfBoundsException