$ uname -a
Linux raspberry 3.12.19+ [#681](/bitcoin-bitcoin/681/) PREEMPT Fri May 9 16:36:10 BST 2014 armv6l GNU/Linux
Bitcoind is 0.9.1 built from Github source. I encountered this error which I didn't see elsewhere in conjuction with v0.9.1.
2014-05-26 08:01:22 UpdateTip: new best=000000000000013549c61b496937e13332831ee455a6207ef94f963634eee16 height=237600 log2_work=70.110769 tx=18325803 date2013-05-24 00:11:16 progress=0.253229
2014-05-26 08:01:22 ProcessBlock: ACCEPTED
2014-05-26 08:01:26 UpdateTip: new best=00000000000000a81216343ded733a17fe80249586f8a0dbd50cf353e28bc14 height=237601 log2_work=70.110824 tx=18326577 date2013-05-24 00:25:26 progress=0.253239
2014-05-26 08:01:27 ProcessBlock: ACCEPTED
2014-05-26 08:02:33 bool LoadExternalBlockFile(FILE*, CDiskBlockPos*) : Deseriaize or I/O error - std::bad_allocbitcoind: main.cpp:1638: bool ConnectBlock(CBlck&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPevBlock == view.GetBestBlock()' failed.
Upon restart bitcoind reindexed some blocks and continued. It appears it's working normally now although it's still catching up.
$ bitcoind getinfo
{
"version" : 90100,
"protocolversion" : 70002,
"blocks" : 237715,
"timeoffset" : -2,
"connections" : 8,
"proxy" : "",
"difficulty" : 11187257.46136079,
"testnet" : false,
"errors" : ""
}
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 60801692 26784392 31506624 46% /
/dev/root 60801692 26784392 31506624 46% /
Maybe system was low on resources like RAM (512MB total, no other services are running except bitcoind).