[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Moved position out of bounds error
- To: mckoidb@xxxxxxxxx
- Subject: Moved position out of bounds error
- From: Peter Antman <pra@xxxxxx>
- Date: 08 Aug 2003 15:12:58 +0200
- Delivered-To: mailing list mckoidb@mckoi.com
- Mailing-List: contact mckoidb-help@mckoi.com; run by ezmlm
Hi,
I have stepped on a really tricky (and not so pleasant) error where the
index files (or something like that seems to be corrupted:
While doing multiple inserts from a script I suddenly get this:
INSERT INTO Sysusergroup_Permission (sysusergroupId, permissionId)
VALUES (1, 21); ]
]
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]% java.lang.Error: IO Error:
Moved position out of bounds.
at
com.mckoi.database.IndexSetStore.commitIndexSet(IndexSetStore.java:634).
The situation is this: I start an Mckoi instance under JBoss.
Drops all my tables.
Restarts Mckoi.
Run first a create script.
The an init script
Same connection, autoCommit on.
Sometimes it works ok. But sometimes the whole database seems to blow
up. During the last test the first 56 inserts was ok, but then it blows
up.
When it has happened, nothings work.
You can not do anything in the open connection:
Exception thrown during query processing on: [ Query:
[ DROP TRIGGER ARTICLEVERSION_INSERT_BD; ]
]
[ TIME: Fri Aug 08 14:44:30 CEST 2003 ]
% java.lang.Error: IO Error: Moved position out of bounds.
at
com.mckoi.database.IndexSetStore.commitIndexSet(IndexSetStore.java:634)
You can not create new connections:
Exception thrown during query processing on: [ Query:
[ SELECT "UserName" FROM "sUSRPassword" WHERE "sUSRPassword.UserName"
= ? AND "sUSRPassword.Password" = ? ]
Params:
[ admin, admin, ]
]
[ TIME: Fri Aug 08 14:50:50 CEST 2003 ]
% java.lang.Error: IO Error: Position out of bounds. start=8288
end=8272 pos=8288 new_pos=8291
at
com.mckoi.database.IndexSetStore$MappedListBlock.getArray(IndexSetStore.java:1026)
at
com.mckoi.util.BlockIntegerList$IntArrayListBlock.intAt(BlockIntegerList.java:185)
at
com.mckoi.util.AbstractBlockIntegerList$BILIterator.next(AbstractBlockIntegerList.java:1139)
at
com.mckoi.database.MasterTableDataSource$3.nextRowIndex(MasterTableDataSource.java:1678)
[...]
Worker thread interrupted because of exception:
SQL Error: IO Error: Position out of bounds. start=8288 end=8272
pos=8288 new_pos=8291
[ TIME: Fri Aug 08 14:50:50 CEST 2003 ]
% java.lang.RuntimeException: SQL Error: IO Error: Position out of
bounds. start=8288 end=8272 pos=8288 new_pos=8291
at com.mckoi.database.Database.authenticateUser(Database.java:410)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.authenticate(JDBCDatabaseInterface.java:118)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.login(JDBCDatabaseInterface.java:189)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:172)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
And its not possible to use the repair tool:
+ Repairing V2MasterTableDataSource 111APP_INTEMPLATE
- Store: [ JournalledFileStore: 111APP_INTEMPLATE ]
+ 2 area repairs:
Area pointer: 2840
Area size: 256
Area pointer: 3096
Area size: 384
+ Rebuilding free bins.
- Store repair complete.
- Checking record integrity.
IOException: Moved position out of bounds.
java.io.IOException: Moved position out of bounds.
at
com.mckoi.store.AbstractStore$StoreArea.position(AbstractStore.java:1563)
at
com.mckoi.database.FixedRecordList.positionOnNode(FixedRecordList.java:231)
at
com.mckoi.database.V2MasterTableDataSource.checkAndRepairRecord(V2MasterTableDataSource.java:897)
at
com.mckoi.database.V2MasterTableDataSource.checkAndRepair(V2MasterTableDataSource.java:857)
at
com.mckoi.database.TableDataConglomerate.checkVisibleTables(TableDataConglomerate.java:438)
at
com.mckoi.database.TableDataConglomerate.fix(TableDataConglomerate.java:2320)
at
com.mckoi.tools.DBConglomerateRepairTool.repair(DBConglomerateRepairTool.java:57)
at
com.mckoi.tools.DBConglomerateRepairTool.main(DBConglomerateRepairTool.java:87)
Here is the full stacktrace of the first time the exception happens:
% java.io.IOException: Moved position out of bounds.
at
com.mckoi.store.AbstractStore$StoreArea.position(AbstractStore.java:1563)
at
com.mckoi.database.IndexSetStore$IndexBlock.<init>(IndexSetStore.java:1266)
at
com.mckoi.database.IndexSetStore.commitIndexSet(IndexSetStore.java:609)
at
com.mckoi.database.V2MasterTableDataSource.commitIndexSet(V2MasterTableDataSource.java:1235)
at
com.mckoi.database.MasterTableDataSource.commitTransactionChange(MasterTableDataSource.java:720)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2943)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
> com.mckoi.database.jdbcserver.JDBCDatabaseInterface ( lvl: 20 )
Exception thrown during query processing on: [ Query:
[
INSERT INTO Sysusergroup_Permission (sysusergroupId, permissionId)
VALUES (1, 21); ]
]
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]
% java.lang.Error: IO Error: Moved position out of bounds.
at
com.mckoi.database.IndexSetStore.commitIndexSet(IndexSetStore.java:634)
at
com.mckoi.database.V2MasterTableDataSource.commitIndexSet(V2MasterTableDataSource.java:1235)
at
com.mckoi.database.MasterTableDataSource.commitTransactionChange(MasterTableDataSource.java:720)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2943)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
> com.mckoi.database.IndexSetStore ( lvl: 40 )
Error when freeing old index block.
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]
% java.io.IOException: Area not found in bin chain! pos = 10080 store =
[ JournalledFileStore: 143APP_SYSUSERGROUP_PERMISSION ]
at
com.mckoi.store.AbstractStore.removeFromBinChain(AbstractStore.java:1079)
at com.mckoi.store.AbstractStore.free(AbstractStore.java:1340)
at com.mckoi.store.AbstractStore.deleteArea(AbstractStore.java:1387)
at
com.mckoi.database.IndexSetStore.deleteAllAreas(IndexSetStore.java:163)
at com.mckoi.database.IndexSetStore.access$600(IndexSetStore.java:83)
at
com.mckoi.database.IndexSetStore$IndexBlock.removeReference(IndexSetStore.java:1402)
at
com.mckoi.database.IndexSetStore$SnapshotIndexSet.dispose(IndexSetStore.java:814)
at
com.mckoi.database.SimpleTransaction.disposeAllIndices(SimpleTransaction.java:386)
at com.mckoi.database.Transaction.cleanup(Transaction.java:2104)
at com.mckoi.database.Transaction.dispose(Transaction.java:2136)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2998)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
> com.mckoi.database.IndexSetStore ( lvl: 40 )
Error when freeing old index block.
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]
% java.io.IOException: Area already marked as unallocated.
at com.mckoi.store.AbstractStore.free(AbstractStore.java:1305)
at com.mckoi.store.AbstractStore.deleteArea(AbstractStore.java:1387)
at
com.mckoi.database.IndexSetStore.deleteAllAreas(IndexSetStore.java:163)
at com.mckoi.database.IndexSetStore.access$600(IndexSetStore.java:83)
at
com.mckoi.database.IndexSetStore$IndexBlock.removeReference(IndexSetStore.java:1402)
at
com.mckoi.database.IndexSetStore$SnapshotIndexSet.dispose(IndexSetStore.java:814)
at
com.mckoi.database.SimpleTransaction.disposeAllIndices(SimpleTransaction.java:386)
at com.mckoi.database.Transaction.cleanup(Transaction.java:2104)
at com.mckoi.database.Transaction.dispose(Transaction.java:2136)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2998)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]
% java.io.IOException: Moved position out of bounds.
at
com.mckoi.store.AbstractStore$StoreArea.position(AbstractStore.java:1563)
at
com.mckoi.database.IndexSetStore$IndexBlock.<init>(IndexSetStore.java:1266)
at
com.mckoi.database.IndexSetStore.commitIndexSet(IndexSetStore.java:609)
at
com.mckoi.database.V2MasterTableDataSource.commitIndexSet(V2MasterTableDataSource.java:1235)
at
com.mckoi.database.MasterTableDataSource.commitTransactionChange(MasterTableDataSource.java:720)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2943)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
> com.mckoi.database.IndexSetStore ( lvl: 40 )
Error when freeing old index block.
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]
% java.io.IOException: Area not found in bin chain! pos = 4928 store =
[ JournalledFileStore: 143APP_SYSUSERGROUP_PERMISSION ]
at
com.mckoi.store.AbstractStore.removeFromBinChain(AbstractStore.java:1079)
at com.mckoi.store.AbstractStore.free(AbstractStore.java:1340)
at com.mckoi.store.AbstractStore.deleteArea(AbstractStore.java:1387)
at
com.mckoi.database.IndexSetStore.deleteAllAreas(IndexSetStore.java:163)
at com.mckoi.database.IndexSetStore.access$600(IndexSetStore.java:83)
at
com.mckoi.database.IndexSetStore$IndexBlock.removeReference(IndexSetStore.java:1402)
at
com.mckoi.database.IndexSetStore$SnapshotIndexSet.dispose(IndexSetStore.java:814)
at
com.mckoi.database.SimpleTransaction.disposeAllIndices(SimpleTransaction.java:386)
at com.mckoi.database.Transaction.cleanup(Transaction.java:2104)
at com.mckoi.database.Transaction.dispose(Transaction.java:2136)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2998)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
> com.mckoi.database.IndexSetStore ( lvl: 40 )
Error when freeing old index block.
[ TIME: Fri Aug 08 14:32:50 CEST 2003 ]
% java.io.IOException: Area not found in bin chain! pos = 8288 store =
[ JournalledFileStore: 143APP_SYSUSERGROUP_PERMISSION ]
at
com.mckoi.store.AbstractStore.removeFromBinChain(AbstractStore.java:1079)
at com.mckoi.store.AbstractStore.free(AbstractStore.java:1340)
at com.mckoi.store.AbstractStore.deleteArea(AbstractStore.java:1387)
at
com.mckoi.database.IndexSetStore.deleteAllAreas(IndexSetStore.java:163)
at com.mckoi.database.IndexSetStore.access$600(IndexSetStore.java:83)
at
com.mckoi.database.IndexSetStore$IndexBlock.removeReference(IndexSetStore.java:1402)
at
com.mckoi.database.IndexSetStore$SnapshotIndexSet.dispose(IndexSetStore.java:814)
at
com.mckoi.database.SimpleTransaction.disposeAllIndices(SimpleTransaction.java:386)
at com.mckoi.database.Transaction.cleanup(Transaction.java:2104)
at com.mckoi.database.Transaction.dispose(Transaction.java:2136)
at
com.mckoi.database.TableDataConglomerate.processCommit(TableDataConglomerate.java:2998)
at com.mckoi.database.Transaction.closeAndCommit(Transaction.java:2066)
at
com.mckoi.database.DatabaseConnection.commit(DatabaseConnection.java:1502)
at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:296)
at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:352)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:293)
at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:196)
at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:171)
at com.mckoi.database.WorkerThread.run(WorkerThread.java:123)
Any ideas?
//Peter
--
------------------------------------------------------------
Peter Antman Chief Technology Officer, Development
Technology in Media, Box 34105 100 26 Stockholm
WWW: http://www.tim.se WWW: http://www.backsource.org
Email: pra@tim.se
Phone: +46-(0)8-506 381 11 Mobile: +46-(0)704 20 58 11
------------------------------------------------------------