Bitcoin Forum

Bitcoin => Armory => Topic started by: babadoo on September 05, 2018, 02:00:24 PM



Title: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 05, 2018, 02:00:24 PM
I'm trying Armory wallet and after a quick initial sync the bottom right corner of the window counts like 20k blocks less than my full node tell me has synced. And armory tells me it's fully synced.

I've configured bitcoin install dir to point to where I'm downloading the blockchaind data. and the bitcoin home dir to default home > .bitcoin.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: bob123 on September 05, 2018, 02:05:03 PM
This can happen if your blockchain is missing some blocks past the height where armory is stuck.
Which version are you using ?

We need your armory log to exactly find out what's happening. Please either post it between [ code] and [ /code] tags or use https://pastebin.com/ (https://pastebin.com/) and provide us the link.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: HCP on September 06, 2018, 05:11:56 AM
How did you configure Armory? Did you use .conf files, command line arguments or the GUI?

This is quite useful if you have setup Bitcoin Core to use non-default locations: https://btcarmory.com/docs/pathing


ps. don't use [ code ] tags... it simply isn't likely to fit... just use pastebin to post your logs ;)


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 06, 2018, 10:29:59 AM
This can happen if your blockchain is missing some blocks past the height where armory is stuck.
Which version are you using ?

We need your armory log to exactly find out what's happening. Please either post it between [ code] and [ /code] tags or use https://pastebin.com/ (https://pastebin.com/) and provide us the link.


here's a the log paste for the last day: https://pastebin.com/XApd78za. I changed satoshi datadir and it synced for 2h but still shows less blocks.

with
Code:
bitcoin-cli getblockchaininfo
I can see my node is fully synced.



Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 06, 2018, 10:42:06 AM
How did you configure Armory? Did you use .conf files, command line arguments or the GUI?

This is quite useful if you have setup Bitcoin Core to use non-default locations: https://btcarmory.com/docs/pathing


ps. don't use [ code ] tags... it simply isn't likely to fit... just use pastebin to post your logs ;)


the GUI. at File > Settings. I'm pointing Bitcoin Home Dir to the folder containing blocks folder. I left blank Bitcoin Install dir.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: bob123 on September 06, 2018, 10:44:26 AM
Code:
2018-09-06 09:18:01 (ERROR) -- SDM.py:307 - Bitcoind could not be found in the specified installation:
2018-09-06 09:18:01 (ERROR) -- SDM.py:309 -    /mount/node
2018-09-06 09:18:01 (ERROR) -- SDM.py:310 - Bitcoind is being started from:
2018-09-06 09:18:01 (ERROR) -- SDM.py:311 -    /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:171 - Found bitcoind in the following places:
2018-09-06 09:18:01 (INFO) -- SDM.py:173 -    /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:173 -    /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:175 - Using: /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:339 - Called startBitcoind
2018-09-06 09:18:01 (WARNING) -- SDM.py:441 - Spawning bitcoind with command: /usr/bin/bitcoind -datadir=/home/user/.bitcoin -dbcache=2000

Did you configure the core path to be in /mount/node ?
Because armory seems to not be able to find it. It is using /usr/bin/bitcoind. Is this the correct path for your core installation ?


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 06, 2018, 05:00:07 PM
Code:
2018-09-06 09:18:01 (ERROR) -- SDM.py:307 - Bitcoind could not be found in the specified installation:
2018-09-06 09:18:01 (ERROR) -- SDM.py:309 -    /mount/node
2018-09-06 09:18:01 (ERROR) -- SDM.py:310 - Bitcoind is being started from:
2018-09-06 09:18:01 (ERROR) -- SDM.py:311 -    /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:171 - Found bitcoind in the following places:
2018-09-06 09:18:01 (INFO) -- SDM.py:173 -    /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:173 -    /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:175 - Using: /usr/bin/bitcoind
2018-09-06 09:18:01 (INFO) -- SDM.py:339 - Called startBitcoind
2018-09-06 09:18:01 (WARNING) -- SDM.py:441 - Spawning bitcoind with command: /usr/bin/bitcoind -datadir=/home/user/.bitcoin -dbcache=2000

Did you configure the core path to be in /mount/node ?
Because armory seems to not be able to find it. It is using /usr/bin/bitcoind. Is this the correct path for your core installation ?

ok, here's my setup

Bitcoin Core 0.16.0 is already running as a daemon, binary is at /usr/bin/bitcoind.

daemon is started with -conf=/etc/bitcoin/bitcoin.conf, config file has option datadir=/mount/node

Armory menu, File > Settings > General tab > Bitcoin home dir: /mount/node and Bitcoin install dir: /usr/bin.

I deleted ~/.armory and resynced but still shows less blocks. Right now I'm doing Help > Rebuild and Rescan Databases.

edit: scan stopped, still showing less blocks


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: PhoenixFire on September 07, 2018, 12:18:00 AM
ok, here's my setup

Bitcoin Core 0.16.0 is already running as a daemon, binary is at /usr/bin/bitcoind.

daemon is started with -conf=/etc/bitcoin/bitcoin.conf, config file has option datadir=/mount/node

Armory menu, File > Settings > General tab > Bitcoin home dir: /mount/node and Bitcoin install dir: /usr/bin.

I deleted ~/.armory and resynced but still shows less blocks. Right now I'm doing Help > Rebuild and Rescan Databases.

edit: scan stopped, still showing less blocks

The bitcoind that is getting fired up by Armory is looking in the wrong place, then. I'd suspect one of the many similar parameters is getting mixed up here given that Armory is trying to find bitcoind in your satoshi-datadir (i.e. blockchain folder).

Unclear to me, but are you planning to fire up bitcoind manually yourself (or via services etc.) or let Armory spawn it as needed? You say already running... so leaning to the former you'd want to uncheck the "Let Armory run Bitcoin Core/bitcoind in the background" option.

At least initially I think you should pass in
Code:
 --satoshi-datadir=/mount/node
as an argument or
Code:
satoshi-datadir="/mount/node"
as a config option in armoryqt.conf (won't exist by default)
A fresh log after that would help :)


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 07, 2018, 08:40:26 AM
ok, here's my setup

Bitcoin Core 0.16.0 is already running as a daemon, binary is at /usr/bin/bitcoind.

daemon is started with -conf=/etc/bitcoin/bitcoin.conf, config file has option datadir=/mount/node

Armory menu, File > Settings > General tab > Bitcoin home dir: /mount/node and Bitcoin install dir: /usr/bin.

I deleted ~/.armory and resynced but still shows less blocks. Right now I'm doing Help > Rebuild and Rescan Databases.

edit: scan stopped, still showing less blocks

The bitcoind that is getting fired up by Armory is looking in the wrong place, then. I'd suspect one of the many similar parameters is getting mixed up here given that Armory is trying to find bitcoind in your satoshi-datadir (i.e. blockchain folder).

Unclear to me, but are you planning to fire up bitcoind manually yourself (or via services etc.) or let Armory spawn it as needed? You say already running... so leaning to the former you'd want to uncheck the "Let Armory run Bitcoin Core/bitcoind in the background" option.

At least initially I think you should pass in
Code:
 --satoshi-datadir=/mount/node
as an argument or
Code:
satoshi-datadir="/mount/node"
as a config option in armoryqt.conf (won't exist by default)
A fresh log after that would help :)

bitcoind starts as a service automatically. I followed these instructions (https://github.com/bitcoin/bitcoin/blob/master/doc/init.md). I unchecked the setting "Let Armory run Bitcoin Core/bitcoind in the background" and started armory from command line with

Code:
armory --satoshi-datadir="/mount/node"

It scans (sigh again) for one hour but it still ends up showing less blocks.


edit: new paste log https://pastebin.com/38fUaNi1

edit2: it shows 'Connected (528884 blocks)' whereas bitcoin-cli getblockchaininfo says 540320.



Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: PhoenixFire on September 07, 2018, 02:15:54 PM
bitcoind starts as a service automatically. I followed these instructions (https://github.com/bitcoin/bitcoin/blob/master/doc/init.md). I unchecked the setting "Let Armory run Bitcoin Core/bitcoind in the background" and started armory from command line with

Code:
armory --satoshi-datadir="/mount/node"

It scans (sigh again) for one hour but it still ends up showing less blocks.


edit: new paste log https://pastebin.com/38fUaNi1

edit2: it shows 'Connected (528884 blocks)' whereas bitcoin-cli getblockchaininfo says 540320.
Thanks for doing that - logs look more sane now. Keep the satoshi param there (or move to the config file). Try Armory's Help > Rebuild and Rescan Databases but note that it will take a while as it is rebuilding from scratch.
If you'd like a better diagnosis before doing the rebuild posting your dblog.txt would be helpful. Check you haven't got any duplicate processes running too: one bitcoind, one ArmoryDB (and make sure it isn't running before you launch ArmoryQt).


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: goatpig on September 09, 2018, 09:03:14 AM
Would need to see dbLog.txt


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 09, 2018, 01:19:42 PM
Would need to see dbLog.txt

here it is. still showing less blocks even after specifying satoshi-datadir as phoenixfire said

dblog https://pastebin.com/UhAd6VnZ

but there's more. i read in the logs that the scan end at file #1294. I can see at my /mount/node/blocks folder that my block files have different permission starting file #1295.

pic https://i.imgur.com/jKjqUGS.png.

maybe it's because of that? I didn't change any permissions manually. I've never touched that folder maybe it's a bitcoin core thing?

should I try changing the permissions manually?


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: bob123 on September 09, 2018, 03:21:19 PM
You definitely need to change the permissions.

Currently only the user bitcoin is allowed to read the files. But armory (running either under your (executing) user or own 'armory user') needs to have read permissions.

You can change the permissions (of all .dat files in this directory) to rw-r--r-- with this command:
Code:
chmod 644 rev*.dat


I have no clue why core changed the default permissions from this block on.
Neither do i have a clue why core creates the .dat files with execute permissions. That's cleary not needed.


So, if you are fine with changing ALL permissions in this directory, feel free to use the above command.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: goatpig on September 09, 2018, 07:25:13 PM
but there's more. i read in the logs that the scan end at file #1294. I can see at my /mount/node/blocks folder that my block files have different permission starting file #1295.

Those log entries are only indicative of progress and do not represent an exhaustive list of the block files that have been parsed. Simply put, any thread that manages to grab the verbose lock ouputs whatever file it finished parsing.

You want to run this process with a wallet loaded, as this log indicates the db has no addresses to track atm. It would yield more relevant information in the log.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 09, 2018, 07:26:40 PM
You definitely need to change the permissions.

Currently only the user bitcoin is allowed to read the files. But armory (running either under your (executing) user or own 'armory user') needs to have read permissions.

You can change the permissions (of all .dat files in this directory) to rw-r--r-- with this command:
Code:
chmod 644 rev*.dat


I have no clue why core changed the default permissions from this block on.
Neither do i have a clue why core creates the .dat files with execute permissions. That's cleary not needed.


So, if you are fine with changing ALL permissions in this directory, feel free to use the above command.

If it's a core thing, did you experience the same issue? I'm not changing the permission until I got confirmation from more users. Maybe it's a security feature I'm not aware of.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 09, 2018, 07:33:32 PM
but there's more. i read in the logs that the scan end at file #1294. I can see at my /mount/node/blocks folder that my block files have different permission starting file #1295.

Those log entries are only indicative of progress and do not represent an exhaustive list of the block files that have been parsed. Simply put, any thread that manages to grab the verbose lock ouputs whatever file it finished parsing.

You want to run this process with a wallet loaded, as this log indicates the db has no addresses to track atm. It would yield more relevant information in the log.

here's the log. I didn't do a rescan, just added a wallet.

https://pastebin.com/iD3x2tqz

I'm rescanning again.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 10, 2018, 10:30:03 AM
but there's more. i read in the logs that the scan end at file #1294. I can see at my /mount/node/blocks folder that my block files have different permission starting file #1295.

Those log entries are only indicative of progress and do not represent an exhaustive list of the block files that have been parsed. Simply put, any thread that manages to grab the verbose lock ouputs whatever file it finished parsing.

You want to run this process with a wallet loaded, as this log indicates the db has no addresses to track atm. It would yield more relevant information in the log.


The rescan finished. Here's a new log. With one wallet loaded. It keeps processing less blocks.

https://pastebin.com/uWxCadc7

When the scan finished the GUI said the node was disconnected (but it was not). I restart and it counts less nodes but it prints 'connected'.

edit: I also found this merge https://github.com/bitcoin/bitcoin/pull/4286 that mentions Armory. I'm not using -disablewallet or -sysperm options. Maybe what I should do is use those params and change manually the previous blockfile permissions, but I'm not sure if that's the most secure thing to do.



Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: goatpig on September 11, 2018, 12:07:57 AM
This is the first time I hear of this issue. I guess you are left with blindly changing file permissions on new block data files and see where it takes you. If you have some coding in you, I can tell you where to add print statements to debug this thoroughly.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on September 11, 2018, 09:34:09 AM
This is the first time I hear of this issue. I guess you are left with blindly changing file permissions on new block data files and see where it takes you. If you have some coding in you, I can tell you where to add print statements to debug this thoroughly.

I can't code. I change all files permissions at /mount/node/blocks to 755 and still not loading all the blocks! the log files are the same than before.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: goatpig on September 12, 2018, 11:34:55 AM
You wouldn't have to code per se, you'd have to add the lines I give you at specific spots and run make.


Title: Re: Why is Armory showing less blocks than my node has synced?
Post by: babadoo on October 12, 2018, 10:49:00 AM
You wouldn't have to code per se, you'd have to add the lines I give you at specific spots and run make.

sorry but I'm not a developer. this wallet does not work for me. I had to move on. even changing permissions doesn't fix it.

my only setup is I have another user running the node.