Author

Topic: 0.95 testing builds (Read 1917 times)

newbie
Activity: 16
Merit: 1
November 14, 2016, 05:51:44 PM
#25
Thank you.   
legendary
Activity: 3766
Merit: 1364
Armory Developer
November 13, 2016, 09:34:28 AM
#24
I'll reproduce and let you know.
newbie
Activity: 16
Merit: 1
November 13, 2016, 09:25:34 AM
#23
I do.

How I start ArmoryDB
Code:
/usr/bin/ArmoryDB --db-type="DB_FULL" --satoshi-datadir="/media/Disk3/Bitcoin/bitcoin/blocks" --datadir="/media/Disk3/Bitcoin/armory" --dbdir="/media/Disk3/Bitcoin/armory/databases"


Nginx configs
Code:
server {
        listen       9002;
        server_name  10.10.10.26;

        location / {
            root           /;
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  /;
            fastcgi_buffering on;
            fastcgi_buffer_size 4k;
            fastcgi_buffers 16 4k;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
    }


How I start ArmoryQt.exe
Code:
ArmoryQt.exe --armorydb-ip=10.10.10.26 --armorydb-port=9002
legendary
Activity: 3766
Merit: 1364
Armory Developer
November 13, 2016, 08:28:17 AM
#22
Are you pointing the Windows client to the nginx instance by ip & port? You will need these CLI args:

https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/ArmoryUtils.py#L124
https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/ArmoryUtils.py#L125

Same goes for nginx vs the db ip & port.
newbie
Activity: 16
Merit: 1
November 12, 2016, 10:52:47 PM
#21
ArmoryDB is working fine, with all provided paths.      Running armory client locally (same linux instance) or from another linux instance is working nicely.    Only from Windows client I get this error.

Windows client to linux server?

Exactly.

Linux running bitcoind and ArmoryDB.  With nginx configured for fastcgi_pass.

Windows 10 running only armory client.

Both on same subset. 10.10.10.0/24
legendary
Activity: 3766
Merit: 1364
Armory Developer
November 12, 2016, 01:49:56 PM
#20
ArmoryDB is working fine, with all provided paths.      Running armory client locally (same linux instance) or from another linux instance is working nicely.    Only from Windows client I get this error.

Windows client to linux server?
newbie
Activity: 16
Merit: 1
November 12, 2016, 12:32:15 PM
#19
ArmoryDB is working fine, with all provided paths.      Running armory client locally (same linux instance) or from another linux instance is working nicely.    Only from Windows client I get this error.
legendary
Activity: 3766
Merit: 1364
Armory Developer
November 12, 2016, 11:53:39 AM
#18
Is ArmoryDB db running? Chances are it can't resolve your paths. Force the datadir and satoshi-datadir manually.
newbie
Activity: 16
Merit: 1
November 12, 2016, 11:51:58 AM
#17
I'm getting the same error when trying to run Armory on Windows 10 x64, providing remote IP and PORT to a nginx setup of an ArmoryDB.

ArmoryQt.exe --armorydb-ip=10.10.10.26 --armorydb-port=9002

Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 44, in
  File "armoryengine\ALL.pyc", line 10, in
  File "armoryengine\BDM.pyc", line 372, in
  File "armoryengine\BDM.pyc", line 158, in __init__
  File "armoryengine\BDM.pyc", line 173, in instantiateBDV
TypeError: in method 'BlockDataViewer_getNewBDV', argument 1 of type 'string const &'


Running the same command on Linux is working fine.

Any clue what could be causing this?   

Thx
legendary
Activity: 3766
Merit: 1364
Armory Developer
October 09, 2016, 01:14:42 PM
#16
So, if I intend to use manual IP:port I'm going to have to forward ArmoryDB traffic through a FastCGI webserver?

The FCGI layer ip:port are hardcoded. You would have to set them to your desired value in your own builds if you want to stick to that interface.
staff
Activity: 3458
Merit: 6793
Just writing some code
October 09, 2016, 11:34:21 AM
#15
I have no idea where I pulled that number from. Checked my firewall just now and the app is indeed connected to port 9001. I tried again. Here is a direct copypaste of the command line as Process Explorer reports it:

Code:
"F:\Program Files\Armory\ArmoryQt.exe"  --armorydb-ip=127.0.0.1 --armorydb-port=9001 --datadir="F:\Program Files\Armory\Data_ArmoryQt"

When started it shows up: "Error occurred: See logfile for details." immediately. And leaves the aformentioned entry in the ArmoryQt.exe.log file.

If I remove the ip and port commands it starts as normal. Am I missing something stupid? I tried quotation marks around IP and port same result.
I don't think you're missing anything. I don't see any issues when I run this on Ubuntu. I get the feeling this is another "Windows being stupid" problem. I don't have Armory setup on my Windows machine so I can't test it there.

So, if I intend to use manual IP:port I'm going to have to forward ArmoryDB traffic through a FastCGI webserver?
No, it should work as you are doing it now (but obviously it isn't).
full member
Activity: 147
Merit: 100
Do you like fire? I'm full of it.
October 09, 2016, 11:19:06 AM
#14
So, if I intend to use manual IP:port I'm going to have to forward ArmoryDB traffic through a FastCGI webserver?
legendary
Activity: 3766
Merit: 1364
Armory Developer
October 09, 2016, 11:15:59 AM
#13
Yes, ADB is running and fine. If I remove the --armorydb-ip and --armorydb-port commands it connects just fine(ADB is running on the local machine so Qt's default connect settings work) but when I try to specify IP:port, even the local default ones, it throws an error and puts that in the log.

DB API is built around the FCGI lib. This is a webstack layer meant for http daemons to tunnel data to child processes (think PHP behind a httpd instance). Of course it is unrealistic to expect the average user to run a http daemon along side Armory just to use it locally, nor is it acceptable to automatically run one for them.

Instead this is split down in 2 operation modes: when the client is using the default IP and port, it will try to speak to the DB using the FCGI protocol. When the IP and/or port is set manually, it expect the DB to sit behind an http daemon and will swap to pure HTTP.
full member
Activity: 147
Merit: 100
Do you like fire? I'm full of it.
October 09, 2016, 11:14:33 AM
#12
I have no idea where I pulled that number from. Checked my firewall just now and the app is indeed connected to port 9001. I tried again. Here is a direct copypaste of the command line as Process Explorer reports it:

Code:
"F:\Program Files\Armory\ArmoryQt.exe"  --armorydb-ip=127.0.0.1 --armorydb-port=9001 --datadir="F:\Program Files\Armory\Data_ArmoryQt"

When started it shows up: "Error occurred: See logfile for details." immediately. And leaves the aformentioned entry in the ArmoryQt.exe.log file.

If I remove the ip and port commands it starts as normal. Am I missing something stupid? I tried quotation marks around IP and port same result.
staff
Activity: 3458
Merit: 6793
Just writing some code
October 09, 2016, 11:06:24 AM
#11
Yes, ADB is running and fine. If I remove the --armorydb-ip and --armorydb-port commands it connects just fine(ADB is running on the local machine so Qt's default connect settings work) but when I try to specify IP:port, even the local default ones, it throws an error and puts that in the log.
Oh the default is actually 9001, not 9050. Where does it still say that the default is 9050?
full member
Activity: 147
Merit: 100
Do you like fire? I'm full of it.
October 09, 2016, 10:58:44 AM
#10
Yes, ADB is running and fine. If I remove the --armorydb-ip and --armorydb-port commands it connects just fine(ADB is running on the local machine so Qt's default connect settings work) but when I try to specify IP:port, even the local default ones, it throws an error and puts that in the log.

Also,

Previous versions of Armory took up ~600MB RAM and even as that didn't change, some background paging was slowly creeping up and using another ~2GB over the course of days running. The application itself also used around 6-20% CPU constantly. The new version hardly uses any CPU and isn't creeping up the RAM as far as I can tell. Great job!!  Grin
staff
Activity: 3458
Merit: 6793
Just writing some code
October 09, 2016, 09:21:36 AM
#9
Attempts to run ArmoryQt by command line such as:

Code:
armoryqt.exe --armorydb-ip=127.0.0.1 --armorydb-port=9050

Fail with the log error:

Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 44, in
  File "armoryengine\ALL.pyc", line 10, in
  File "armoryengine\BDM.pyc", line 372, in
  File "armoryengine\BDM.pyc", line 158, in __init__
  File "armoryengine\BDM.pyc", line 173, in instantiateBDV
TypeError: in method 'BlockDataViewer_getNewBDV', argument 1 of type 'string const &'

What am I getting wrong about the syntax?
Do you have the ArmoryDB already started? If not, then this will not work because it expects ArmoryDB to already be started and listening on port 9050.
full member
Activity: 147
Merit: 100
Do you like fire? I'm full of it.
October 09, 2016, 08:27:56 AM
#8
Attempts to run ArmoryQt by command line such as:

Code:
armoryqt.exe --armorydb-ip=127.0.0.1 --armorydb-port=9050

Fail with the log error:

Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 44, in
  File "armoryengine\ALL.pyc", line 10, in
  File "armoryengine\BDM.pyc", line 372, in
  File "armoryengine\BDM.pyc", line 158, in __init__
  File "armoryengine\BDM.pyc", line 173, in instantiateBDV
TypeError: in method 'BlockDataViewer_getNewBDV', argument 1 of type 'string const &'

What am I getting wrong about the syntax?
staff
Activity: 3458
Merit: 6793
Just writing some code
October 04, 2016, 02:32:14 PM
#7
New testing builds are available at https://github.com/goatpig/BitcoinArmory/releases/tag/v0.94.99.1-testing. If you download the binaries, make sure that you verify them. The tag and the binaries are both signed with goatpig's offline signing key.
staff
Activity: 3458
Merit: 6793
Just writing some code
September 16, 2016, 06:19:30 PM
#6
Lockboxes aren't working. Traceback:
Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 2781, in browseLockboxes
    self.lbDialog = DlgLockboxManager(self, self)
  File "/home/andy/bitcoin/BitcoinArmory/ui/MultiSigDialogs.py", line 808, in __init__
    self.changeLBFilter()
  File "/home/andy/bitcoin/BitcoinArmory/ui/MultiSigDialogs.py", line 1845, in changeLBFilter
    TheBDM.bdv().updateLockboxesLedgerFilter(lbIDList)
  File "/home/andy/bitcoin/BitcoinArmory/CppBlockUtils.py", line 2573, in
    __getattr__ = lambda self, name: _swig_getattr(self, BlockDataViewer, name)
  File "/home/andy/bitcoin/BitcoinArmory/CppBlockUtils.py", line 74, in _swig_getattr
    return _swig_getattr_nondynamic(self, class_type, name, 0)
  File "/home/andy/bitcoin/BitcoinArmory/CppBlockUtils.py", line 69, in _swig_getattr_nondynamic
    return object.__getattr__(self, name)
AttributeError: type object 'object' has no attribute '__getattr__'

legendary
Activity: 3766
Merit: 1364
Armory Developer
September 16, 2016, 05:17:01 AM
#5
Means I botched the auto path on Debian where it looks for the DB in /usr/lib instead of /usr/bin... ugh!

PS: apparently I botched the Windows installer too, will come out with a new build sometimes today or tomorrow.
member
Activity: 89
Merit: 10
September 15, 2016, 10:27:16 PM
#4
It looks like it's unable to start ArmoryDB. Can you try running
Code:
ArmoryDB
So that worked, it started building the DB. I then ran Armory and it's now scanning transactions. I'll follow up on whether the problems persist after it fully syncs. Weird.

Edit:
So it's still having problems starting ArmoryDB automatically. In the log it has this line:
Code:
Executing popen: ['/usr/lib/armory/ArmoryDB', '--db-type="DB_FULL"', '--spawnId="snip"', '--satoshi-datadir="/home/user/.bitcoin/blocks"', '--dbdir="/home/user/.armory/databases"']

but when i do a whereis, it comes back with
Code:
ArmoryDB: /usr/bin/ArmoryDB /usr/bin/X11/ArmoryDB
staff
Activity: 3458
Merit: 6793
Just writing some code
September 15, 2016, 08:51:16 PM
#3
Code:
2016-09-15 21:40 (ERROR) -- Traceback (most recent call last):
  File "/usr/bin/../lib/armory/ArmoryQt.py", line 6635, in method_signal
    method()
  File "/usr/bin/../lib/armory/ArmoryQt.py", line 6672, in completeBlockchainProcessingInitialization
    gotDB = self.startArmoryDBIfNecessary()
  File "/usr/bin/../lib/armory/ArmoryQt.py", line 2198, in startArmoryDBIfNecessary
    spawnId = TheSDM.spawnDB(TheBDM.armoryDBDir)
  File "/usr/lib/armory/SDM.py", line 513, in spawnDB
    launchProcess(pargs, **kargs)
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 642, in launchProcess
    return Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, *args, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

2016-09-15 21:40 (INFO) -- ArmoryQt.py:5641 - Dashboard switched to "Scanning" mode

Armory seems to hang on preparing the database. I'm not sure what it thinks is missing. All the files seem to be there. It looked like some of the files were missing when I was checking manually, but I've uninstalled/reinstalled using the deb files, reset the db and settings several times and everything seems to be there. Any ideas?
It looks like it's unable to start ArmoryDB. Can you try running
Code:
ArmoryDB
member
Activity: 89
Merit: 10
September 15, 2016, 08:48:31 PM
#2
Code:
2016-09-15 21:40 (ERROR) -- Traceback (most recent call last):
  File "/usr/bin/../lib/armory/ArmoryQt.py", line 6635, in method_signal
    method()
  File "/usr/bin/../lib/armory/ArmoryQt.py", line 6672, in completeBlockchainProcessingInitialization
    gotDB = self.startArmoryDBIfNecessary()
  File "/usr/bin/../lib/armory/ArmoryQt.py", line 2198, in startArmoryDBIfNecessary
    spawnId = TheSDM.spawnDB(TheBDM.armoryDBDir)
  File "/usr/lib/armory/SDM.py", line 513, in spawnDB
    launchProcess(pargs, **kargs)
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 642, in launchProcess
    return Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, *args, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

2016-09-15 21:40 (INFO) -- ArmoryQt.py:5641 - Dashboard switched to "Scanning" mode

Armory seems to hang on preparing the database. I'm not sure what it thinks is missing. All the files seem to be there. It looked like some of the files were missing when I was checking manually, but I've uninstalled/reinstalled using the deb files, reset the db and settings several times and everything seems to be there. Any ideas?
legendary
Activity: 3766
Merit: 1364
Armory Developer
September 14, 2016, 02:40:39 PM
#1
Time has come once again, calling on testers for the final testing phase of 0.95

You can get the release and signed hashes here:

https://github.com/goatpig/BitcoinArmory/releases/tag/v0.94.99.testing

A new addition to this release, the git tag is signed as well with my offline key.

You can see the list of changes here:

https://github.com/goatpig/BitcoinArmory/blob/testing/changelog.txt

Code is staged in the testing branch.

Notable points:

No OSX builds yet, sometimes next week most likely.

DB format is different from 0.94, you will have to use a fresh folder. I'm getting late reports that zero confirmation tx don't always display in the ledger, this needs eyes on. Also the fee per byte and coin control needs tested thoroughly.

Enjoy, and thanks for your effort.
Jump to: