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 <zhengw...@gmail.com> 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