I observed a node w/ git master at continuing to run after encountering a leveldb error:
2014-12-11 03:48:57 LevelDB read failure: Corruption: block checksum mismatch 2014-12-11 03:48:57 Corruption: block checksum mismatch
EXCEPTION: 13leveldb_error
Database corrupted
bitcoin in ProcessMessages()
…
2014-12-11 03:48:57 ProcessMessage(block, 162248 bytes) FAILED peer=1
2014-12-11 03:48:58 UpdateTip: new best=0000000000000000053cc9e138c09d9923bab3c1274bbbab762a2f5d5512c767 height=326925 log2_work=81.217819 tx=49707296 date=2014-10-25 12:21:19 progress=0.879732 cache=66628
We should shut down immediately after database errors to avoid a repeat of the pre-0.8 forking behavior on BDB-error. If an “impossible” database error happens, better to assume we’re busted and shut down than potentially start creating a chain fork.
(Looking into it, just opening the issue so this isn’t forgotten. Should be fixed before release if at all possible.)