AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 13, 2016, 11:42:33 PM |
|
Trying to run Armory on CentOS 7 Built from source as RPM by me - 0.93.2 Here's the error : [alice@localhost ~]$ armory (ERROR) announcefetch.py:312 - Could not verify data in signed message block Traceback (most recent call last): File "/usr/libexec/armory/announcefetch.py", line 304, in __runFetchSequence sig, msg = readSigBlock(digestData) File "/usr/libexec/armory/jasvet.py", line 589, in readSigBlock name = r.split(BEGIN_MARKER)[1].split(DASHX5)[0] IndexError: list index out of range (ERROR) Traceback (most recent call last): File "/usr/libexec/armory/ArmoryQt.py", line 7158, in <module> form = ArmoryMainWindow(splashScreen=SPLASH) File "/usr/libexec/armory/ArmoryQt.py", line 822, in __init__ self.setDashboardDetails() File "/usr/libexec/armory/ArmoryQt.py", line 5666, in setDashboardDetails sdmState = TheSDM.getSDMState() File "/usr/libexec/armory/SDM.py", line 752, in getSDMState state = self.getSDMStateLogic() File "/usr/libexec/armory/SDM.py", line 788, in getSDMStateLogic latestInfo = self.getTopBlockInfo() File "/usr/libexec/armory/SDM.py", line 925, in getTopBlockInfo if self.isRunningBitcoind(): File "/usr/libexec/armory/SDM.py", line 725, in isRunningBitcoind self.btcOut, self.btcErr = self.bitcoind.communicate() File "/usr/lib64/python2.7/subprocess.py", line 800, in communicate return self._communicate(input) File "/usr/lib64/python2.7/subprocess.py", line 1396, in _communicate self.stdin.flush() ValueError: I/O operation on closed file
Traceback (most recent call last): File "/usr/libexec/armory/ArmoryQt.py", line 7158, in <module> form = ArmoryMainWindow(splashScreen=SPLASH) File "/usr/libexec/armory/ArmoryQt.py", line 822, in __init__ self.setDashboardDetails() File "/usr/libexec/armory/ArmoryQt.py", line 5666, in setDashboardDetails sdmState = TheSDM.getSDMState() File "/usr/libexec/armory/SDM.py", line 752, in getSDMState state = self.getSDMStateLogic() File "/usr/libexec/armory/SDM.py", line 788, in getSDMStateLogic latestInfo = self.getTopBlockInfo() File "/usr/libexec/armory/SDM.py", line 925, in getTopBlockInfo if self.isRunningBitcoind(): File "/usr/libexec/armory/SDM.py", line 725, in isRunningBitcoind self.btcOut, self.btcErr = self.bitcoind.communicate() File "/usr/lib64/python2.7/subprocess.py", line 800, in communicate return self._communicate(input) File "/usr/lib64/python2.7/subprocess.py", line 1396, in _communicate self.stdin.flush() ValueError: I/O operation on closed file
Here's how it is built %build sed -ie s?"\$(PREFIX)/lib/armory"?"\$(PREFIX)/libexec/armory"? Makefile sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? ArmoryQt.py sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? dpkgfiles/armory sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? osxbuild/Armory-script.sh sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? osxbuild/armoryd-script.sh sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? osxbuild/objc_armory/ArmoryMac.pro sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? release_scripts/Step2_Offline_PackageSigning.py sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? release_scripts/signannounce.py sed -ie s?"/usr/lib/armory"?"/usr/libexec/armory"? release_scripts/README.txt sed -ie 's/\r//' BitTornado/launchmanycore.py
make %{?_smp_mflags}
%install make install DESTDIR=%{buildroot}
It does start bitcoind before that error occurs. Any suggestions? SELinux is disabled so that's not the issue. Thank you
|
I hereby reserve the right to sometimes be wrong
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 13, 2016, 11:50:10 PM |
|
Whoa, wait, I'm running an old version? Why the frack doesn't the armory website list the new version if it was released all the way back in October?
That's um really odd.
|
I hereby reserve the right to sometimes be wrong
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 12:04:04 AM |
|
Okay after checking out the 0.93.3 release and rebuilding the RPM, the same issue persists.
For what it's worth, bitcoin-qt works just fine.
I'm wondering if my python environment isn't as complete as it should be?
|
I hereby reserve the right to sometimes be wrong
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3486
Merit: 6824
Just writing some code
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 04:30:57 AM |
|
From that error message it looks like Armory is unable to verify the signed announcement messages.
Could you post your armory logs?
Also, it would be a good idea to submit a bug report to Armory by going to Help > Submit Bug Report in Armory.
|
|
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 11:32:36 AM |
|
I also have to ask, does this mean that a DoS attack on the armory website means armory stops working because clients can't get the signed messages it seems unable to start without?
|
I hereby reserve the right to sometimes be wrong
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 11:50:57 AM |
|
Here is attempting to start it skipping the announce check [alice@localhost ~]$ armory --skip-announce-check (ERROR) Traceback (most recent call last): File "/usr/libexec/armory/ArmoryQt.py", line 7147, in <module> form = ArmoryMainWindow(splashScreen=SPLASH) File "/usr/libexec/armory/ArmoryQt.py", line 822, in __init__ self.setDashboardDetails() File "/usr/libexec/armory/ArmoryQt.py", line 5655, in setDashboardDetails sdmState = TheSDM.getSDMState() File "/usr/libexec/armory/SDM.py", line 752, in getSDMState state = self.getSDMStateLogic() File "/usr/libexec/armory/SDM.py", line 788, in getSDMStateLogic latestInfo = self.getTopBlockInfo() File "/usr/libexec/armory/SDM.py", line 925, in getTopBlockInfo if self.isRunningBitcoind(): File "/usr/libexec/armory/SDM.py", line 725, in isRunningBitcoind self.btcOut, self.btcErr = self.bitcoind.communicate() File "/usr/lib64/python2.7/subprocess.py", line 800, in communicate return self._communicate(input) File "/usr/lib64/python2.7/subprocess.py", line 1396, in _communicate self.stdin.flush() ValueError: I/O operation on closed file
Traceback (most recent call last): File "/usr/libexec/armory/ArmoryQt.py", line 7147, in <module> form = ArmoryMainWindow(splashScreen=SPLASH) File "/usr/libexec/armory/ArmoryQt.py", line 822, in __init__ self.setDashboardDetails() File "/usr/libexec/armory/ArmoryQt.py", line 5655, in setDashboardDetails sdmState = TheSDM.getSDMState() File "/usr/libexec/armory/SDM.py", line 752, in getSDMState state = self.getSDMStateLogic() File "/usr/libexec/armory/SDM.py", line 788, in getSDMStateLogic latestInfo = self.getTopBlockInfo() File "/usr/libexec/armory/SDM.py", line 925, in getTopBlockInfo if self.isRunningBitcoind(): File "/usr/libexec/armory/SDM.py", line 725, in isRunningBitcoind self.btcOut, self.btcErr = self.bitcoind.communicate() File "/usr/lib64/python2.7/subprocess.py", line 800, in communicate return self._communicate(input) File "/usr/lib64/python2.7/subprocess.py", line 1396, in _communicate self.stdin.flush() ValueError: I/O operation on closed file
So it seems there is more than one problem. These are from the log file just before that - 2016-01-14 03:48 (INFO) -- ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command 2016-01-14 03:48 (INFO) -- ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin 2016-01-14 03:48 (INFO) -- ArmoryUtils.py:600 - Executing popen: find /home/alice -type f -name "mimeTypes.rdf" 2016-01-14 03:48 (INFO) -- ArmoryQt.py:664 - Usermode: Advanced 2016-01-14 03:48 (INFO) -- ArmoryQt.py:1810 - Changing usermode: 2016-01-14 03:48 (INFO) -- ArmoryQt.py:1811 - From: Advanced 2016-01-14 03:48 (INFO) -- ArmoryQt.py:1819 - To: Advanced
|
I hereby reserve the right to sometimes be wrong
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 12:16:15 PM |
|
With the debug switch - (DEBUG) ArmoryQt.py:2474 - Bitcoind started without error (DEBUG) ArmoryQt.py:1411 - setupSystemTray (DEBUG) SDM.py:844 - Creating proxy (INFO) SDM.py:848 - Creating proxy in SDM: host=127.0.0.1, port=8332 (DEBUG) SDM.py:891 - generic socket error (DEBUG) SDM.py:723 - Bitcoind is no more (INFO) ArmoryQt.py:1514 - setupUriRegistration (INFO) ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command (INFO) ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin (INFO) ArmoryUtils.py:600 - Executing popen: find /home/alice -type f -name "mimeTypes.rdf" (DEBUG) ArmoryQt.py:4350 - setupDashboard (INFO) ArmoryQt.py:664 - Usermode: Advanced (INFO) ArmoryQt.py:1810 - Changing usermode: (INFO) ArmoryQt.py:1811 - From: Advanced (INFO) ArmoryQt.py:1819 - To: Advanced (DEBUG) SDM.py:723 - Bitcoind is no more
I turned off firewalld just to make sure that wasn't the issue, same thing. It seems to be starting bitcoind without error but debug seems to be indication a "generic socket error" followed by "Bitcoind is no more" (yet it is still running according to ps aux)
|
I hereby reserve the right to sometimes be wrong
|
|
|
josephbisch
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 75
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 01:55:50 PM |
|
When you navigate to that URL, you are redirected to the bitcoinarmory.com homepage. If you get rid of the parameters (the ? and everything after it) you get announce.txt as Armory is expecting. The reason Armory isn't running for you is that the program is expecting to receive a Bitcoin Signed Message, but is receiving the Armory homepage.
|
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 02:02:03 PM |
|
When you navigate to that URL, you are redirected to the bitcoinarmory.com homepage. If you get rid of the parameters (the ? and everything after it) you get announce.txt as Armory is expecting. The reason Armory isn't running for you is that the program is expecting to receive a Bitcoin Signed Message, but is receiving the Armory homepage. Okay I am trying with the --skip-announce-check option to avoid that single point of failure (really dumb IMHO to make startup depend upon a specific URL responding in a specific way - what problem are they trying to solve ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) ) and that is no longer an issue, but now it seems to have issues with creating a socket to the bitcoind service.
|
I hereby reserve the right to sometimes be wrong
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 02:09:56 PM |
|
def __backgroundRequestTopBlock(self):
That's the function in SDM.py where the socket.error is triggering. It's possible this is actually a problem with bitcoind but I don't know how to determine that. When building bitcoin-core I ran: %check # Run all the tests make check # Run all the other tests pushd src srcdir=. test/bitcoin-util-test.py popd qa/pull-tester/rpc-tests.sh -extended
which takes a really long time but all tests passed.
|
I hereby reserve the right to sometimes be wrong
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3080
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 02:11:57 PM |
|
Try turning off the bitcoind auto-management option from the settings (or in the config file the settings store).
Also, be sure to use 93.3, as 93.2 suffers a bug that could cause your transactions to fail.
|
Vires in numeris
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 02:16:27 PM |
|
Try turning off the bitcoind auto-management option from the settings (or in the config file the settings store).
Also, be sure to use 93.3, as 93.2 suffers a bug that could cause your transactions to fail.
I can't even get to the damn settings, it doesn't get that far. I am using 93.3 now - initially I was using 93.2 because for some reason I can't comprehend, they don't have 93.3 listed on their website *and* they don't have an archive of release tarballs. It is feeling like this is a project where the developer has become bored and doesn't want to do it anymore.
|
I hereby reserve the right to sometimes be wrong
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 02:55:54 PM |
|
I was not happy to see btw that by default an application that claims security as a motive reports both the operating system and version of the operating system to the projects homepage. That's not cool.
Even worse, it does it in a get variable. It has the full facilities of python at its disposal, at least do it via post if you must do it at all.
I think I am just going to stick with bitcoin-core.
It works and will continue to work and I don't risk issues where an upgrade to the product breaks the ability to even use my wallet, bitcoin-core is well tested before release and old versions are easy to get if needed via source tarballs with a checksum.
The deterministic wallet and cold-address management is a nice thing to have, but it looks like armory is suffering from feature bloat instead of embracing KISS.
And from the reading the forum, it appears the developer now is focusing on a closed source project.
Ah well.
I used armory for awhile in Fedora a little over a year ago and really liked it.
|
I hereby reserve the right to sometimes be wrong
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3080
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 03:09:51 PM Last edit: January 14, 2016, 04:28:06 PM by Carlton Banks |
|
I think there are archived versions of releases with any major format changes, but the URL's are not well advertised as new releases have always been more or less unanimous improvements over their predecessors (only those searching hard ever need to find those links I guess).
As for the state of the project... well, 93.3 was put out under different circumstances to previous releases, but there's no word yet from etotheipi on what the reason for that was. The 93.3 fix had to be pushed out quickly anyway (to correctly ameliorate the network problem for Armory users that the 0.11.1 tx malleability fix provided), which is a possible reason for the way that release was handled.
The only other publicly available information is that Mac/OSX support was shelved at that time, but then quickly reinstated with the help of a Mac user who submitted a fix on this sub. From that, a reasonable conclusion would be that they've lost a developer who provided all OSX efforts. But that's all based on a supposition.
|
Vires in numeris
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 03:40:28 PM |
|
I think it needs to get back to the fundamentals.
Hierarchal Deterministic Wallet
Cold Address Management
Watch Only Wallets
Focus on doing those things and doing those things correctly, and without having the product calling home. That's ridiculous. I don't think it use to do that, that seems to be a new "feature".
Then allow other features people want (e.g. multisig) to be option plugin add-ons.
-=-
It's like OpenSSL - bugs like heartbleed happened because of feature creep. No one even needs the heartbeat extension, seriously. Who the hell does TLS over UDP?
Yet they put it in enabled by default and people who had no user for it had their certificates compromised as a result.
Keep things simple, Armory needs to get back to that in my opinion. Maybe it needs a fork.
|
I hereby reserve the right to sometimes be wrong
|
|
|
achow101
Staff
Legendary
Offline
Activity: 3486
Merit: 6824
Just writing some code
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 05:29:52 PM |
|
I think it needs to get back to the fundamentals.
Hierarchal Deterministic Wallet
Cold Address Management
Watch Only Wallets
Focus on doing those things and doing those things correctly, and without having the product calling home. That's ridiculous. I don't think it use to do that, that seems to be a new "feature".
Then allow other features people want (e.g. multisig) to be option plugin add-ons.
AFAIK calling home has been a function in armory for a while so that you can get announcements and updates. It shouldn't break anything or cause problems since offline mode can't get the announcements. I think there is some other problem here, but I haven't had the time to look at your logs. Can you also post the armorycpplog file?
|
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 05:42:15 PM |
|
Well it means anyone who gets access to the server logs now has a list of IP addresses corresponding with operating system and OS version of people who use bitcoin.
That should never have happened.
|
I hereby reserve the right to sometimes be wrong
|
|
|
goatpig
Moderator
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 06:44:17 PM |
|
Well it means anyone who gets access to the server logs now has a list of IP addresses corresponding with operating system and OS version of people who use bitcoin.
That should never have happened.
We make a point of not logging the IPs, but that boils down to a trust relationship. If you choose not to trust that, turn off the feature. There are also options to run specifically through Tor if you want to hide your IP. You should evaluate settings in Armory against Bitcoin's own network model. Anyone controlling and/or monitoring a lot of nodes has a good chance to figure out your IP. The counterpart to this "phoning home" feature is that we get an channel to push critical announcements to our users (something both Core and Armory need and have used in the past). We piggy back on Core for our networking purposes. We won't abide by a network policy Core doesn't respect, that would make no sense. Again if you dislike this feature, you can turn it off. If you want to change your settings before letting Armory connect to anything, you should first start it in offline mode. ------------------------ Going back to your problem, Armory is trying to start bitcoind and failing. That's a default "easy mode" feature that you should probably turn off since we do not officially support CentOS. To do this, start Armory in offline mode and go to File -> Settings. Uncheck the first check box. Then start BitcoinQt manually and restart Armory.
|
|
|
|
AliceWonderMiscreations (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 14, 2016, 07:51:05 PM |
|
Instead of putting the OS variant etc. into a GET variable, why not just have the server respond with a generic XML file that has the current version for each OS?
Then the client can look through the XML file (or whatever) to see what the current version is. If it is newer than what is running, the user gets an alert that they may want to upgrade.
No information about the running environment is leaked that way.
|
I hereby reserve the right to sometimes be wrong
|
|
|
|