Author

Topic: Armory stuck at block 636385 (Read 194 times)

legendary
Activity: 3766
Merit: 1364
Armory Developer
August 24, 2020, 12:57:01 AM
#7
Quote
If I run into this error again I'll try your method in order to save myself the time and inconvenience of reindexing the entire blockchain vs reindexing from the blocks that are most likely corrupted.

Reindexing is done on the entire chain unless you explicitly tell your node to assume the chain is valid up to a certain height (-assumevalid=XXXXX is the arg I believe). Deleting only up to the bad data instead of the whole thing reduces how you have to download again. Block download speed can be a bottleneck.
newbie
Activity: 16
Merit: 3
August 23, 2020, 09:33:11 PM
#6
This issue has been solved Cheesy

It's possible there is some data corruption in your Bitcoin Core data, that is causing issues for Armory... So, you might need to "reindex" your Bitcoin Core to see if it can fix it... but that will likely take quite a while to complete.
Thanks for your help
 Smiley
I ended up reindexing BitcoinCore and it would get stuck, so I assumed some sort of hard disk issue.

For the benefit of possible future readers
Before reindexing I ran chkdsk on my hard drive and when Bitcoin Core was reindexing I set the priority to high.
https://bitcoin.stackexchange.com/questions/60709/when-should-i-use-reindex-chainstate-and-when-reindex
https://www.easeus.com/partition-manager-software/run-chkdsk-to-check-repair-drive.html
https://stackoverflow.com/questions/1663993/what-is-the-realtime-process-priority-setting-for


If you are going to reindex Core, you should delete the last few blkXXXXX.dat files. The error you are getting from Armory means that it is failing to match a block's list of transaction with its header (what carries the proof of work). Armory is most likely stuck at that specific block height because it rejects the next block (the one with the merkle error) and therefor fails to extend the chain.

Core checks blocks then writes them to disk. It doesn't check that the data written to disk matches what it has checked, therefor write errors go through transparently and Armory runs into them later. A reindex tells Core to recheck all blockchain data, which I believe leads to redownloading bad data (don't quote me on that). Reindexing is pretty expensive, so I'd suggest you just nuke the last few block files and restart Core. That will trigger a reindexing on its own and also make sure you're not carrying the botched block anymore.

Thanks for the detailed explanation of what is most likely causing the error.
 Smiley
If I run into this error again I'll try your method in order to save myself the time and inconvenience of reindexing the entire blockchain vs reindexing from the blocks that are most likely corrupted.
legendary
Activity: 3766
Merit: 1364
Armory Developer
August 20, 2020, 02:59:48 AM
#5
If you are going to reindex Core, you should delete the last few blkXXXXX.dat files. The error you are getting from Armory means that it is failing to match a block's list of transaction with its header (what carries the proof of work). Armory is most likely stuck at that specific block height because it rejects the next block (the one with the merkle error) and therefor fails to extend the chain.

Core checks blocks then writes them to disk. It doesn't check that the data written to disk matches what it has checked, therefor write errors go through transparently and Armory runs into them later. A reindex tells Core to recheck all blockchain data, which I believe leads to redownloading bad data (don't quote me on that). Reindexing is pretty expensive, so I'd suggest you just nuke the last few block files and restart Core. That will trigger a reindexing on its own and also make sure you're not carrying the botched block anymore.
HCP
legendary
Activity: 2086
Merit: 4361
August 19, 2020, 06:28:01 PM
#4
It's possible there is some data corruption in your Bitcoin Core data, that is causing issues for Armory... So, you might need to "reindex" your Bitcoin Core to see if it can fix it... but that will likely take quite a while to complete.
newbie
Activity: 16
Merit: 3
August 19, 2020, 04:18:02 PM
#3
Thanks for your help HCP Smiley

The bitcoin.conf file was blank
I added server=1

Now Armory shows connected in green text but remains at block 636385
https://thankyousatoshi.s3.amazonaws.com/stuckatblockbug/Armory+connected+now+green.png

I tried deleting the database folder and log files, although once the rescan of the blockchain data produced the Armory database the problem still persisted.

In the log files there is this error maybe it is related to this issue.
-ERROR - 02:44:16.078: (e:\users\goat\code\armory3\cppforswig\blockdatamap.cpp:80) merkle root mismatch!

Are there any other settings you recommend I try changing?



HCP
legendary
Activity: 2086
Merit: 4361
August 19, 2020, 02:50:01 AM
#2
Are you running Bitcoin Core with the server=1 option (either on the command line or in your bitcoin.conf)? Huh

The "connected" in Armory being in Purple means that it is not communicating "properly" with your Bitcoin Core node... so, it won't automatically update with new block updates etc.
newbie
Activity: 16
Merit: 3
August 18, 2020, 10:56:11 PM
#1
Hi,

I'm running Armory 0.96.5 and BitcoinCore v0.20.0

Armory is stuck at block 636385.
The current block is 644361.

Below are the log files
https://thankyousatoshi.s3.amazonaws.com/stuckatblockbug/armorycpplog.txt
https://thankyousatoshi.s3.amazonaws.com/stuckatblockbug/armorylog.txt
https://thankyousatoshi.s3.amazonaws.com/stuckatblockbug/dbLog.txt

Here is a screenshot of Armory and BitcoinCore for reference
https://thankyousatoshi.s3.amazonaws.com/stuckatblockbug/Armory+stuck+bug.png

The fixes I have tried previously are these:
  • Rebuild and Rescan Databases
  • Deleting the 'databases' folder in C:\Users\{UserName}\AppData\Roaming\Armory and restarting Armory
  • The above and deleting the log files then restarting Armory

What would you recommend I do in order to allow Armory to be using the latest blocks downloaded by BitcoinCore?

Thanks for your help
 Smiley

Jump to: