I just experienced a crash:
It is possibly out of memory related. Hopefully, the assertion condition can help you find the problem.
I was reindexing my blocks because I needed txindex
. The reindex is complete at the time of the crash. The GUI shows “synchronizing with network…” at 17 weeks behind. The blocks that I was reindexing were copied from v0.11 into v0.12.1 (64-bit). The command line is bitcoin-qt.exe -server -rpcuser=xxx -rpcpassword=xxx -rpcbind=xxx -rpcallowip=xxx -txindex -reindex
. Before running that command I deleted chainstate
, database
and db.log
.
The log shows:
0************************
1EXCEPTION: St9bad_alloc
2std::bad_alloc
3C:\Program Files\Bitcoin\bitcoin-qt.exe in ProcessMessages()
So it looks like an OOM condition triggers this bug. It would be helpful if Bitcoin Core supported low memory conditions gracefully.
And now:
Looks like I will be rebuilding for 2 days again :( For a week now I am doing nothing else because the database gets corrupted so easily. I really wish Bitcoin Core was crash consistent. This is running on a clean VM so I don’t think the machine is somehow messed up.