Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: kimon on September 05, 2014, 02:54:46 PM



Title: "deserialize or I/O error" in reindexing
Post by: kimon on September 05, 2014, 02:54:46 PM
I got a strange problem with Bitcoin v.0.8.6-beta when trying to reindex blockchain i got a fatal error.

In debug.log:
Code:
2014-09-05 14:41:12 SetBestChain: new best=000000000000000029cb92c7f2505c5ef382f8ed75fa8714197b567ed8633b2c  height=317728  log2_work=80.385701  tx=45430675  date=2014-08-27 12:39:43 progress=0.981063
2014-09-05 14:41:19 SetBestChain: new best=000000000000000018de8c05cb73e4a19fa8949e3bbe43eb1e24f88bd67ba49c  height=317729  log2_work=80.385794  tx=45430893  date=2014-08-27 12:42:20 progress=0.981067
2014-09-05 14:41:24 SetBestChain: new best=00000000000000001850bb9680ebe3e31f8ff4c59ebf08cb5fd17f3faf51058a  height=317730  log2_work=80.385888  tx=45430972  date=2014-08-27 12:42:22 progress=0.981067
2014-09-05 14:41:34 SetBestChain: new best=00000000000000002928dc125a29ed30ba2e44d8828063cb8c0fbc7ae7d9f1fd  height=317731  log2_work=80.385981  tx=45431527  date=2014-08-27 12:52:07 progress=0.981081
2014-09-05 14:41:34 ERROR: bool CBlock::ReadFromDisk(const CDiskBlockPos&)() : deserialize or I/O error
2014-09-05 14:41:34 *** Failed to read block
2014-09-05 14:41:34 Error: Failed to read block
2014-09-05 14:41:34 init message: Loading addresses...
2014-09-05 14:41:34 Loaded 0 addresses from peers.dat  57ms
2014-09-05 14:41:34 Error: Failed to connect best block
2014-09-05 14:41:34 Shutdown : In progress...
2014-09-05 14:41:34 Flush(false)
2014-09-05 14:41:34 wallet.dat refcount=0
2014-09-05 14:41:34 wallet.dat checkpoint
2014-09-05 14:41:34 wallet.dat detach
2014-09-05 14:41:34 wallet.dat closed
2014-09-05 14:41:34 DBFlush(false) ended              20ms
2014-09-05 14:41:34 StopNode()
2014-09-05 14:41:34 Flushed 0 addresses to peers.dat  144ms

in db.log
Code:
Commonly caused by moving a database from one database environment
to another without clearing the database LSNs, or by removing all of
the log files from a database environment
DB_ENV->log_flush: LSN of 3/821995 past current end-of-log of 1/5584
Database environment corrupt; the wrong log files may have been removed or incompatible database files imported from another environment
PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
wallet.dat: unable to flush page: 235
PANIC: fatal region error detected; run recovery
PANIC: fatal region error detected; run recovery
PANIC: fatal region error detected; run recovery

Bitcoin crashed. And every time I restart it, and got the same error "2014-09-05 14:41:34 ERROR: bool CBlock::ReadFromDisk(const CDiskBlockPos&)() : deserialize or I/O error"
Every time the last SetBestChain have height=317731 & date=2014-08-27 12:52:07 progress=0.981081

what is the magic packet on which everything goes wrong?!
Please, help me!

I try -rescan. It does not help.


Title: Re: "deserialize or I/O error" in reindexing
Post by: shorena on September 05, 2014, 03:34:50 PM
Wasnt this fixed with v >0.9?


Anyway your DB is corrupted. -rescan* will not help here you need to make a new DB with -reindex


* it scans for missing TX, not your concern I think ;)