Any news, 
I'm using the version 1.4.189 of H2; and, the databases are corrupted. 

On Friday, July 22, 2016 at 2:06:53 PM UTC+1, Zheng Wang wrote:
>
> 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 <[email protected]> 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 [email protected].
>>> To post to this group, send email to [email protected].
>>> 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 [email protected].
To post to this group, send email to [email protected].
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