Symptoms

Any of the following error messages:


Assertion failed!

Expression: !setBlockIndexCandidates.empty()

Expression: hashPrevBlock == view.GetBestBlock()

pivx-qt: main.cpp:2300: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

pivxd: main.cpp:2300: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed. 

Failed reading from database. PcoinsTip best block is not correct. The block database is in an inconsistent state and may cause issues in the future.  To force start use -forcestart

(OSX) A fatal error occurred.  PIVX can no longer continue safely and will quit 
Exception: St13runtime_error TopupKeyPool() : writing generated key failed
pivx in Runaway exception



Cause

An abnormal exit of the wallet could result in a blockchain  inconsistency from that point forward. This can happen due to a PC  reboot without first closing the wallet gracefully or if the local copy  of the blockchain became corrupted (due to environmental issues etc) and  caused the wallet to crash.


Solution

To fix the problem with your local copy of the blockchain, follow these instructions

https://pivx.freshdesk.com/support/solutions/articles/30000004661-wallet-crashes-or-has-crashed-and-now-won-t-launch-fails-every-time-what-do-i-do-