I keep getting this error when starting bitmonerod.exe
Can someone kindly advise how do I resolve this please?
http://postimg.org/image/82k0rxkeh/My computer blue-screened after starting up bitmonerod.exe just a while ago.
I restarted the computer and bitmonerod.exe started to show this error messages.
There could be a couple reasons for the error.
Are you running a released build or one you or someone compiled? What version?
It appears to be on height 0. Does that sound right, or had you previously had a database?
If the former, it would be easiest to start with a fresh database directory and see if that works.
To do so, you could remove the two *.mdb files in your current monero data dir's lmdb/ directory and then start the daemon.
If you want to leave your current database intact for further investigation, you can start the daemon with another data dir:
bitmonerod --data-dir /path/of/your/choice
If you want to follow up, it's better to use the support thread:
https://bitcointalk.org/index.php?topic=652305.newAppreciate your kind advice warptangent.
I deleted the data.mdb as I suspected it got corrupted during the Windows hard crash.
Now have to spend umpteen hours to regenerate the full blockchain from scratch (I use HDD).
Since there was data corruption or at least database inconsistency, it would be good for us to know more about the setup.
Whether it was a release build and the version are helpful.
As far as getting started again, on HDD, I generally use blockchain_import with a blockchain.raw file (available at
https://getmonero.org) to bootstrap the database faster than syncing with the daemon:
blockchain_import --input-file /path/to/blockchain.raw --database lmdb#fastest --verify off
If you don't have a lot of RAM, you can also lower the batch size, e.g.:
blockchain_import --input-file /path/to/blockchain.raw --database lmdb#fastest --batch-size 1000 --verify off
This requires trusting blockchain.raw, unless you run with the default verify mode (--verify on), which is slower, and would be similar to syncing with the daemon if it also did full verification for the entire sync. The daemon by default also trusts some block data to avoid full verification during most of the sync. It's just that the data it's trusting is embedded in itself (from blocks.dat).
In short, if you're on HDD and willing to trust a second file, blockchain.raw, your import will be much faster, possibly even 1 to 2 hours total, depending on your setup.
When the import is done, just run the daemon as normal.
More help on the importer and its options is here:
https://github.com/monero-project/bitmonero/blob/master/src/blockchain_utilities/README.mdLastly, for HDD users looking for better performance, the experimental performance branch in development is available for testing at exp/performance here:
https://github.com/warptangent/bitmonero/branchesThis includes updates that dramatically improve the daemon's interaction with the wallet when dealing with txs that belong to you (e.g. wallet refresh from scratch on a wallet with many txs).
It also includes updates from hyc, the author of LMDB, that improves block storage efficiency.
The latest set of updates I made were pushed yesterday, which deal with transaction storage, notably decreasing the size of the database.
Note that this branch is
incompatible with the master branch (and release builds). The two
cannot use the same database.
To try it out:
git clone https://github.com/warptangent/bitmonero -b exp/performance
It's compiled with:
BERKELEY_DB=0 make -j3 release
All testers should remember it's an experimental branch in development. The improvements also help on SSD, but are especially noticeable for those with slow storage. This is planned to be merged into the master in the future, after further work.
Testing is welcome by all. Remember that the daemon and importer have the --data-dir option, so a separate database can be used for testing.