db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: Java exception: '-1: java.lang.ArrayIndexOutOfBoundsException' error
Date Wed, 26 May 2010 10:31:29 GMT
On 26.05.10 12:12, Shankar Devi wrote:
> Hi,
>   I have an intensive data-processing application which utilises Apache Derby
> Version - 10.3.1.4.
> My Customer is running this application on Windows 2003 Service Pack 2 and
> has 1.6 GB derby database size.
> Application has crashed after throwing this error.
>    

Hi Devi,

Can you say which transaction isolation level the application is running 
with?
And I'm assuming this is a multi-threaded / -user application?
How easily is the bug reproducible?

Taking a guess from the stack trace it looks like you may be inserting 
data returned by a select.
Is this correct, and is the source data a BLOB or a CLOB?

You may have hit issue DERBY-3811 [1].


Regards,
-- 
Kristian

[1] https://issues.apache.org/jira/browse/DERBY-3811

> Thanks,
> Devi
>
>
> May 7, 2010 3:50:47 PM java.sql.SQLException: Java exception: '-1:
> java.lang.ArrayIndexOutOfBoundsException'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
> 	at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
> 	at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
> Source)
> 	at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown
> Source)
> 	at
> com.netsation.configurator.server.DerbyStorage.saveObjectVersionTree(Unknown
> Source)
> 	at
> com.netsation.configurator.server.DerbyStorage.saveObjectVersionTree(Unknown
> Source)
> 	at
> com.netsation.configurator.server.DerbyStorage.saveObjectVersionTree(Unknown
> Source)
> 	at
> com.netsation.configurator.server.DerbyStorage.saveObjectVersionTree(Unknown
> Source)
> 	at
> com.netsation.configurator.server.DerbyStorage.saveObjectVersionTree(Unknown
> Source)
> 	at com.netsation.configurator.server.DerbyStorage.saveObjectVersion(Unknown
> Source)
> 	at com.netsation.configurator.server.Transaction.perform(Unknown Source)
> 	at com.netsation.configurator.server.Transaction.transact(Unknown Source)
> 	at com.netsation.configurator.server.Transaction.checkPointInternal(Unknown
> Source)
> 	at com.netsation.configurator.server.Transaction.checkPoint(Unknown Source)
> 	at
> com.netsation.configurator.common.StorageMechanism.checkPointTransaction(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.cleanObject(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.removeObject(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.removeTail(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.punt(Unknown Source)
> 	at com.netsation.configurator.server.HardLimitCache.write(Unknown Source)
> 	at com.netsation.configurator.common.StorageMechanism.writeToCache(Unknown
> Source)
> 	at com.netsation.configurator.common.StorageMechanism.loadObject(Unknown
> Source)
> 	at com.netsation.configurator.common.StorageMechanism.loadObject(Unknown
> Source)
> 	at com.netsation.configurator.server.LowLevelServices.loadObject(Unknown
> Source)
> 	at com.netsation.configurator.server.AccessService.loadAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.AccessService.getAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.getAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.checkAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.representation(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.representation(Unknown
> Source)
> 	at
> com.netsation.configurator.server.NsConfigurationServer.propagateEventsToClients(Unknown
> Source)
> 	at
> com.netsation.configurator.server.LowLevelServices.commitTransaction(Unknown
> Source)
> 	at
> com.baynetworks.optivity.configurator.NetworkImportThread.postprocess(Unknown
> Source)
> 	at
> com.baynetworks.optivity.configurator.NetworkImportThread.execute(Unknown
> Source)
> 	at com.netsation.util.ThreadedOperation.run(Unknown Source)
> Caused by: java.sql.SQLException: Java exception: '-1:
> java.lang.ArrayIndexOutOfBoundsException'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
> Source)
> 	at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
> 	... 41 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
> 	at org.apache.derby.impl.store.raw.data.BasePage.getHeaderAtSlot(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.raw.data.StoredPage.restorePortionLongColumn(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.raw.data.OverflowInputStream.fillByteHolder(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.raw.data.BufferedByteHolderInputStream.read(Unknown
> Source)
> 	at java.io.DataInputStream.read(DataInputStream.java:132)
> 	at org.apache.derby.impl.store.raw.data.MemByteHolder.write(Unknown Source)
> 	at
> org.apache.derby.impl.store.raw.data.RememberBytesInputStream.fillBuf(Unknown
> Source)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.logColumn(Unknown
> Source)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.logLongColumn(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.raw.data.InsertOperation.writeOptionalDataToBuffer(Unknown
> Source)
> 	at org.apache.derby.impl.store.raw.data.InsertOperation.<init>(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.raw.data.LoggableActions.actionInsert(Unknown
> Source)
> 	at org.apache.derby.impl.store.raw.data.BasePage.insertLongColumn(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.raw.data.BasePage.insertAllowOverflow(Unknown
> Source)
> 	at org.apache.derby.impl.store.raw.data.BasePage.insert(Unknown Source)
> 	at org.apache.derby.impl.store.access.heap.HeapController.doInsert(Unknown
> Source)
> 	at
> org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(Unknown
> Source)
> 	at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown
> Source)
> 	at
> org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
> Source)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
> Source)
> 	... 34 more
>
> May 7, 2010 3:50:47 PM java.sql.SQLTransientConnectionException: No current
> connection.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown
> Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown
> Source)
> 	at
> com.netsation.configurator.server.DerbyStorage.saveObjectVersionTree(Unknown
> Source)
> 	at com.netsation.configurator.server.DerbyStorage.saveObjectVersion(Unknown
> Source)
> 	at com.netsation.configurator.server.Transaction.perform(Unknown Source)
> 	at com.netsation.configurator.server.Transaction.transact(Unknown Source)
> 	at com.netsation.configurator.server.Transaction.checkPointInternal(Unknown
> Source)
> 	at com.netsation.configurator.server.Transaction.checkPoint(Unknown Source)
> 	at
> com.netsation.configurator.common.StorageMechanism.checkPointTransaction(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.cleanObject(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.removeObject(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.removeTail(Unknown
> Source)
> 	at com.netsation.configurator.server.HardLimitCache.punt(Unknown Source)
> 	at com.netsation.configurator.server.HardLimitCache.write(Unknown Source)
> 	at com.netsation.configurator.common.StorageMechanism.writeToCache(Unknown
> Source)
> 	at com.netsation.configurator.common.StorageMechanism.loadObject(Unknown
> Source)
> 	at com.netsation.configurator.common.StorageMechanism.loadObject(Unknown
> Source)
> 	at com.netsation.configurator.server.LowLevelServices.loadObject(Unknown
> Source)
> 	at com.netsation.configurator.server.AccessService.loadAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.AccessService.getAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.getAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.checkAccess(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.representation(Unknown
> Source)
> 	at com.netsation.configurator.server.CConfigurable.representation(Unknown
> Source)
> 	at
> com.netsation.configurator.server.NsConfigurationServer.propagateEventsToClients(Unknown
> Source)
> 	at
> com.netsation.configurator.server.LowLevelServices.commitTransaction(Unknown
> Source)
> 	at
> com.baynetworks.optivity.configurator.NetworkImportThread.postprocess(Unknown
> Source)
> 	at
> com.baynetworks.optivity.configurator.NetworkImportThread.execute(Unknown
> Source)
> 	at com.netsation.util.ThreadedOperation.run(Unknown Source)
> Caused by: java.sql.SQLException: No current connection.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
> Source)
> 	at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
> 	... 35 more
>    


Mime
View raw message