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.