Hello group,

I'm using the current version 1.2.143 with the default settings except
with MULTI_THREADED=1 enabled in the standalone mode.

Now I got some excpetions that in my opion are database related. In
the following I paste the stack trace of the exceptions and try to
comment them as far as possible for me.

The first error looks like I'm trying to create an index twice. But in
my code I create the indices directly after I create the table and up
to now I never got this exceptions just now with all the others so I
just want to add it for completion. Maybe its just my fault.

org.h2.jdbc.JdbcSQLException: Index "EQUIVALENTCLASS_D8_LEFT" already
exists; SQL statement:
 CREATE INDEX equivalentClass_d8_left ON equivalentClass_d8(colLeft);
CREATE INDEX equivalentClass_d8_right ON equivalentClass_d8(colRight);
[42111-143]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.command.ddl.CreateIndex.update(CreateIndex.java:76)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.command.CommandList.update(CommandList.java:41)
        at org.h2.command.CommandList.executeRemaining(CommandList.java:36)
        at org.h2.command.CommandList.update(CommandList.java:42)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.server.TcpServerThread.process(TcpServerThread.java:300)
        at org.h2.server.TcpServerThread.run(TcpServerThread.java:137)
        at java.lang.Thread.run(Thread.java:619)

        at org.h2.engine.SessionRemote.done(SessionRemote.java:543)
        at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:184)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
141)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
127)
        at de.derivo.u2r3.db.Relation.createDelta(Relation.java:240)
        at de.derivo.u2r3.db.Relation.createDeltaRelation(Relation.java:341)
        at de.derivo.u2r3.db.Relation.createNewDeltaRelation(Relation.java:
326)
        at de.derivo.u2r3.rules.Rule.apply(Rule.java:61)
        at de.derivo.u2r3.util.RuleAction.apply(RuleAction.java:48)
        at de.derivo.u2r3.util.RuleAction.run(RuleAction.java:107)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)





The next error looks more like its on the database side.

org.h2.jdbc.JdbcSQLException: General error:
"java.lang.ArrayIndexOutOfBoundsException: 8" [50000-143]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:156)
        at org.h2.message.DbException.convert(DbException.java:279)
        at org.h2.table.RegularTable.removeRow(RegularTable.java:361)
        at org.h2.engine.UndoLogRecord.undo(UndoLogRecord.java:102)
        at org.h2.engine.Session.rollbackTo(Session.java:537)
        at org.h2.command.Command.executeUpdate(Command.java:238)
        at org.h2.server.TcpServerThread.process(TcpServerThread.java:300)
        at org.h2.server.TcpServerThread.run(TcpServerThread.java:137)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 8
        at org.h2.index.PageBtree.getRow(PageBtree.java:172)
        at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:218)
        at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:234)
        at org.h2.table.RegularTable.removeRow(RegularTable.java:343)
        ... 6 more

        at org.h2.engine.SessionRemote.done(SessionRemote.java:543)
        at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:184)
        at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:
125)
        at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110)
        at
de.derivo.u2r3.rules.ApplicationRule.applyImmediateTwice(ApplicationRule.java:
116)
        at de.derivo.u2r3.rules.ScmScoRule.applyImmediate(ScmScoRule.java:29)
        at de.derivo.u2r3.rules.Rule.apply(Rule.java:69)
        at de.derivo.u2r3.util.RuleAction.apply(RuleAction.java:48)
        at de.derivo.u2r3.util.RuleAction.run(RuleAction.java:107)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)



And just like this one I have the feelings that data corruptions is
happening.

org.h2.jdbc.JdbcSQLException: General error:
"java.lang.RuntimeException: old!=record pos:73263 old:page[73263]
data leaf table:1256 entries:0 parent:0 keys:null offsets:null
new:page[73263] b-tree leaf table:1274 entries:1"; SQL statement:
INSERT INTO classAssertionEnt_d245 (entity, colClass, sourceId1,
sourceTable1, sourceId2, sourceTable2)
         SELECT ass.object, rng.range, MIN(ass.id) AS sourceId1,
'objectPropertyAssertion' AS sourceTable1, MIN(rng.id) AS sourceId2,
'propertyDomain' AS sourceTable2
         FROM objectPropertyAssertion AS ass
                 INNER JOIN propertyRange_d8 AS rng
                 ON ass.Property = rng.Property
         GROUP BY ass.object, rng.range [50000-143]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:156)
        at org.h2.message.DbException.convert(DbException.java:279)
        at org.h2.table.RegularTable.addRow(RegularTable.java:134)
        at org.h2.command.dml.Insert.insertRows(Insert.java:149)
        at org.h2.command.dml.Insert.update(Insert.java:83)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.server.TcpServerThread.process(TcpServerThread.java:300)
        at org.h2.server.TcpServerThread.run(TcpServerThread.java:137)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: old!=record pos:73263
old:page[73263] data leaf table:1256 entries:0 parent:0 keys:null
offsets:null new:page[73263] b-tree leaf table:1274 entries:1
        at org.h2.message.DbException.throwInternalError(DbException.java:
226)
        at org.h2.util.CacheLRU.update(CacheLRU.java:112)
        at org.h2.store.PageStore.update(PageStore.java:1023)
        at org.h2.index.PageBtreeLeaf.addRow(PageBtreeLeaf.java:159)
        at org.h2.index.PageBtreeLeaf.split(PageBtreeLeaf.java:202)
        at org.h2.index.PageBtreeNode.addRowTry(PageBtreeNode.java:207)
        at org.h2.index.PageBtreeNode.addRowTry(PageBtreeNode.java:197)
        at org.h2.index.PageBtreeNode.addRowTry(PageBtreeNode.java:197)
        at org.h2.index.PageBtreeIndex.addRow(PageBtreeIndex.java:90)
        at org.h2.index.PageBtreeIndex.add(PageBtreeIndex.java:81)
        at org.h2.table.RegularTable.addRow(RegularTable.java:116)
        ... 7 more

        at org.h2.engine.SessionRemote.done(SessionRemote.java:543)
        at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:184)
        at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:
125)
        at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110)
        at
de.derivo.u2r3.rules.ApplicationRule.applyImmediate(ApplicationRule.java:
93)
        at de.derivo.u2r3.rules.Rule.apply(Rule.java:69)
        at de.derivo.u2r3.util.RuleAction.apply(RuleAction.java:48)
        at de.derivo.u2r3.util.RuleAction.run(RuleAction.java:107)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)


All these exceptions are listed in the order I have seen them. In the
next error the data corruption gets stated by the database.

org.h2.jdbc.JdbcSQLException: File corrupted while reading record:
"type: 161". Possible solution: use the recovery tool; SQL statement:
CREATE TABLE classAssertionEnt_d280( id BIGINT DEFAULT NEXT VALUE FOR
uid NOT NULL, entity TEXT, colClass TEXT, sourceId1 BIGINT,
sourceTable1 VARCHAR(100), sourceId2 BIGINT, sourceTable2
VARCHAR(100), sourceId3 BIGINT, sourceTable3 VARCHAR(100), sourceId4
BIGINT, sourceTable4 VARCHAR(100), PRIMARY KEY (id, entity,
colClass)); CREATE INDEX classAssertionEnt_d280_entity ON
classAssertionEnt_d280(entity); CREATE INDEX
classAssertionEnt_d280_class ON classAssertionEnt_d280(colClass);
[90030-143]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.store.Data.readValue(Data.java:767)
        at org.h2.index.PageDataIndex.readRow(PageDataIndex.java:414)
        at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:324)
        at org.h2.index.PageDataLeaf.split(PageDataLeaf.java:364)
        at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:137)
        at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:159)
        at org.h2.index.PageDataIndex.add(PageDataIndex.java:124)
        at org.h2.store.PageStore.addMeta(PageStore.java:1691)
        at org.h2.index.PageDataIndex.<init>(PageDataIndex.java:68)
        at org.h2.table.RegularTable.<init>(RegularTable.java:75)
        at org.h2.schema.Schema.createTable(Schema.java:549)
        at org.h2.command.ddl.CreateTable.update(CreateTable.java:141)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.command.CommandList.update(CommandList.java:41)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.server.TcpServerThread.process(TcpServerThread.java:300)
        at org.h2.server.TcpServerThread.run(TcpServerThread.java:137)
        at java.lang.Thread.run(Thread.java:619)

        at org.h2.engine.SessionRemote.done(SessionRemote.java:543)
        at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:184)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
141)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
127)
        at de.derivo.u2r3.db.Relation.createDelta(Relation.java:240)
        at de.derivo.u2r3.db.Relation.createDeltaRelation(Relation.java:341)
        at de.derivo.u2r3.db.Relation.createNewDeltaRelation(Relation.java:
326)
        at de.derivo.u2r3.rules.Rule.apply(Rule.java:61)
        at de.derivo.u2r3.util.RuleAction.apply(RuleAction.java:48)
        at de.derivo.u2r3.util.RuleAction.run(RuleAction.java:107)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)


And finally I also saw an exception in another run that said something
like "Writing while still writing" but I couldn't reproduce it.


Again I hope this report is of any help. If I should create an issue
in the bug tracker or if there is a way I can get more specific
informations just let me know.

Best regards
Stefan

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to