assertion failed!
file:src\kernel.cpp,line 412
Expression: pindex->getblockHash() == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)
....
diamondd -loadblock=blk0001.dat
This will go like downloading the block chain from the network, only much faster and will result in clean block index.
One way to avoid this situation happening is to wait a bit more when stopping the wallet, before starting it again. Unfortunately, there is no indication when it actually stops running.