Hello,

It looks like there is an intermittent bug lurking in 1.4.200. This occured 
on a freshly created database during data import performed by a 
higher-level routine (i.e. not a H2's RUNSCRIPT). The progress of the 
import at the time of crash was around 3.5%:

        email.com.gmail.wburzyns.matdb.storage.StorageCrashedException:
        
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientConnectionException: 
(Message 90030 not found); SQL statement:
        INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90030-200]

            at 
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1152)

        Caused by: 
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientConnectionException: 
(Message 90030 not found); SQL
        statement:
        INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90030-200]

            at 
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:622)

            at 
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:429)

            at 
email.com.gmail.wburzyns.org.h2.message.DbException.get(DbException.java:194)

            at
            
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:222)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.convertException(MVTable.java:714)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:133)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.addRow(MVTable.java:531)

            at 
email.com.gmail.wburzyns.org.h2.command.dml.Insert.insertRows(Insert.java:195)

            at 
email.com.gmail.wburzyns.org.h2.command.dml.Insert.update(Insert.java:151)

            at 
email.com.gmail.wburzyns.org.h2.command.CommandContainer.update(CommandContainer.java:198)

            at 
email.com.gmail.wburzyns.org.h2.command.Command.executeUpdate(Command.java:251)

            at
            
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191)

            at 
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152)

            at 
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1145)

        Caused by: java.lang.IllegalStateException: File corrupted in chunk 
1211, expected page length 4..24576, got
        1211773484 [1.4.200/6]

            at 
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.Chunk.readBufferForPage(Chunk.java:368)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1214)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readPage(MVStore.java:2209)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.readPage(MVMap.java:672)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.Page$NonLeaf.getChildPage(Page.java:1043)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.CursorPos.traverseDown(CursorPos.java:58)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.operate(MVMap.java:1804)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:301)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.putIfAbsent(TransactionMap.java:238)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:120)

            ... 8 more
            
            
After from-scratch restart on yet-again created database the import died at 
80%:

        email.com.gmail.wburzyns.matdb.storage.StorageCrashedException:
        email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientException: 
(Message 90028 not found); SQL statement:
        INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90028-200]

            at 
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1152)

        Caused by: 
email.com.gmail.wburzyns.org.h2.jdbc.JdbcSQLNonTransientException: (Message 
90028 not found); SQL
        statement:
        INSERT INTO MATDB_DATA VALUES(?, ?, ?) [90028-200]

            at 
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:505)

            at 
email.com.gmail.wburzyns.org.h2.message.DbException.getJdbcSQLException(DbException.java:429)

            at 
email.com.gmail.wburzyns.org.h2.message.DbException.get(DbException.java:194)

            at
            
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:210)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.convertException(MVTable.java:714)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:133)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVTable.addRow(MVTable.java:531)

            at 
email.com.gmail.wburzyns.org.h2.command.dml.Insert.insertRows(Insert.java:195)

            at 
email.com.gmail.wburzyns.org.h2.command.dml.Insert.update(Insert.java:151)

            at 
email.com.gmail.wburzyns.org.h2.command.CommandContainer.update(CommandContainer.java:198)

            at 
email.com.gmail.wburzyns.org.h2.command.Command.executeUpdate(Command.java:251)

            at
            
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191)

            at 
email.com.gmail.wburzyns.org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152)

            at 
email.com.gmail.wburzyns.matdb.storage.MatDbStorage.dataAdd(MatDbStorage.java:1145)

        Caused by: java.lang.IllegalStateException: Reading from file 
split:30:D:/db/200/storage/matfiles.mv.db
        failed at 6558115483 (length 6558687232), read 0, remaining 524288 
[1.4.200/1]

            at 
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.readFully(DataUtils.java:456)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.FileStore.readFully(FileStore.java:98)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.Chunk.readBufferForPage(Chunk.java:361)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1214)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVStore.readPage(MVStore.java:2209)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.readPage(MVMap.java:672)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.Page$NonLeaf.getChildPage(Page.java:1043)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.CursorPos.traverseDown(CursorPos.java:58)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.MVMap.operate(MVMap.java:1804)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:301)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.tx.TransactionMap.putIfAbsent(TransactionMap.java:238)

            at 
email.com.gmail.wburzyns.org.h2.mvstore.db.MVPrimaryIndex.add(MVPrimaryIndex.java:120)

            ... 8 more

        Caused by: java.io.EOFException

            at 
email.com.gmail.wburzyns.org.h2.mvstore.DataUtils.readFully(DataUtils.java:444)

            ... 19 more


Apart from the above all my storage-related tests (~150) with 1.4.200 
passed multiple times, so these crashes are somewhat suprising.

Filesystem is local NTFS, database is embedded and hence accessed by a 
single process, H2 URL is 
"jdbc:h2:split:...;COMPRESS=TRUE;SCOPE_GENERATED_KEYS=TRUE;CACHE_SIZE=131072;MAX_MEMORY_UNDO=100000;MAX_OPERATION_MEMORY=10485760".

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/dfbfd770-5651-409f-b1e1-e8e15da03e19%40googlegroups.com.

Reply via email to