Hi Thomas,

I have sent the database files to you in an email. Please let me know if 
you have any finding. Thanks

Regards,
Zheng

On Wednesday, July 20, 2016 at 11:33:00 PM UTC+8, Thomas Mueller Graf wrote:
>
> Hi,
>
> I would be interested to analyze the database file if you still have them.
>
> Regards,
> Thomas
>
> On Tuesday, July 12, 2016, Zheng Wang <zhengw...@gmail.com <javascript:>> 
> wrote:
>
>> I met the same problem. H2 database 1.4.191 was corrupted after a Windows 
>> 7 crash. 
>> When connecting to the database via Squirrel using URL 
>> jdbc:h2:C:/Temp/database_corrupted/database/test;AUTO_SERVER=TRUE, I got 
>> below error
>>
>> java.util.concurrent.ExecutionException: java.lang.RuntimeException: 
>> org.h2.jdbc.JdbcSQLException: File corrupted while reading record: null. 
>> Possible solution: use the recovery tool [90030-191]
>> at java.util.concurrent.FutureTask.report(Unknown Source)
>> at java.util.concurrent.FutureTask.get(Unknown Source)
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
>> at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>> at java.util.concurrent.FutureTask.run(Unknown Source)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>> at java.lang.Thread.run(Unknown Source)
>> Caused by: java.lang.RuntimeException: org.h2.jdbc.JdbcSQLException: File 
>> corrupted while reading record: null. Possible solution: use the recovery 
>> tool [90030-191]
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:171)
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45)
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104)
>> ... 5 more
>> Caused by: org.h2.jdbc.JdbcSQLException: File corrupted while reading 
>> record: null. Possible solution: use the recovery tool [90030-191]
>> at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
>> at org.h2.message.DbException.get(DbException.java:168)
>> at 
>> org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:195)
>> at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
>> at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
>> at org.h2.engine.Database.getPageStore(Database.java:2460)
>> at org.h2.engine.Database.open(Database.java:692)
>> at org.h2.engine.Database.openDatabase(Database.java:270)
>> at org.h2.engine.Database.<init>(Database.java:264)
>> at org.h2.engine.Engine.openSession(Engine.java:65)
>> at org.h2.engine.Engine.openSession(Engine.java:175)
>> at org.h2.engine.Engine.createSessionAndValidate(Engine.java:153)
>> at org.h2.engine.Engine.createSession(Engine.java:136)
>> at org.h2.engine.Engine.createSession(Engine.java:28)
>> at 
>> org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
>> at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
>> at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
>> at org.h2.Driver.connect(Driver.java:72)
>> at 
>> net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133)
>> at 
>> net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167)
>> ... 7 more
>> Caused by: java.lang.IllegalStateException: File corrupted in chunk 
>> 19309, expected page length 4..1024, got 745365880 [1.4.191/6]
>> at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
>> at org.h2.mvstore.Page.read(Page.java:649)
>> at org.h2.mvstore.Page.read(Page.java:195)
>> at org.h2.mvstore.MVStore.readPage(MVStore.java:1939)
>> at org.h2.mvstore.MVMap.readPage(MVMap.java:736)
>> at org.h2.mvstore.Page.getChildPage(Page.java:217)
>> at org.h2.mvstore.Cursor.fetchNext(Cursor.java:150)
>> at org.h2.mvstore.Cursor.next(Cursor.java:50)
>> at org.h2.mvstore.MVStore.loadChunkMeta(MVStore.java:690)
>> at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:670)
>> at org.h2.mvstore.MVStore.<init>(MVStore.java:353)
>> at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2888)
>> at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
>> ... 23 more
>>
>>
>> When running the Recover command 'java -cp h2-1.4.191.jar 
>> org.h2.tools.Recover', I got below error
>>
>> Exception in thread "main" java.lang.IllegalStateException: File 
>> corrupted in chunk 19309, expected page length 4..1024, got 745365880 
>> [1.4.191/6]
>>         at 
>> org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
>>
>>         at org.h2.mvstore.Page.read(Page.java:649)
>>         at org.h2.mvstore.Page.read(Page.java:195)
>>         at org.h2.mvstore.MVStore.readPage(MVStore.java:1939)
>>         at org.h2.mvstore.MVMap.readPage(MVMap.java:736)
>>         at org.h2.mvstore.Page.getChildPage(Page.java:217)
>>         at org.h2.mvstore.Cursor.fetchNext(Cursor.java:150)
>>         at org.h2.mvstore.Cursor.next(Cursor.java:50)
>>         at org.h2.mvstore.MVStore.loadChunkMeta(MVStore.java:690)
>>         at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:670)
>>         at org.h2.mvstore.MVStore.<init>(MVStore.java:353)
>>         at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2888)
>>         at org.h2.mvstore.MVStoreTool.info(MVStoreTool.java:336)
>>         at org.h2.tools.Recover.process(Recover.java:342)
>>         at org.h2.tools.Recover.runTool(Recover.java:196)
>>         at org.h2.tools.Recover.main(Recover.java:159)
>>
>> Found a similar issue https://github.com/h2database/h2database/issues/142 
>> which seems indicating corruption is no longer an issue since 1.4.188, but 
>> actually it is still an issue. 
>>
>> I hope H2 developers can look into this, as it is really shocking to lose 
>> all the data so easily.
>>
>> Thanks
>>
>> -- 
>> 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 h2-database+unsubscr...@googlegroups.com.
>> To post to this group, send email to h2-database@googlegroups.com.
>> Visit this group at https://groups.google.com/group/h2-database.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to