Author

Topic: Armory - Discussion Thread - page 148. (Read 521829 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 23, 2012, 04:16:28 PM
Ever since I upgraded bitcoin-qt to a pre-0.8 test version. Armory will not leave offline mode.

Yes, there is no 0.8 support yet.  The Bitcoin-Qt devs left out some important details about the way 0.8+ works, because they didn't think it mattered.  It does matter, and I haven't had the time to revamp the low-level blockchain utilities to accommodate it.  Figuring that out is near the top of my list, though.

On the upside, I think I figured out what has been causing Armory to crash after being open for a long time.  And the code needed to fix that, is closely related to the updates I need to work with 0.8.  I might be able to do both at the same time.
legendary
Activity: 1400
Merit: 1013
December 23, 2012, 04:11:39 PM
Ever since I upgraded bitcoin-qt to a pre-0.8 test version. Armory will not leave offline mode.

Quote
You are currently in offline mode because Armory could not find the blockchain files produced by Bitcoin-Qt. Do you run Bitcoin-Qt (or bitcoind) from a non-standard directory? Armory expects to find the blkXXXX.dat files in

%s

If you know where it is located, please restart Armory using the " --satoshi-datadir= to notify Armory where to find them.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 23, 2012, 03:26:46 PM
I've been having issues with the latest versions of Armory.

Unfortunately I do not remember which was the last working version. I skipped quite a few versions simply because I was busy.

When I updated to any of the last 3 versions, Armory seems to start fine, but after a minute or two of offline mode, it crashes. I'm assuming whenever it's about to switch to online mode.

I'm running Windows 8, latest version of BitcoinQt.

On a hunch, I emptied the Armory folder in roaming and Armory loads fine. When I copied my watch only wallets back into the folder, I experience the crash again.

I've sent a pm.

Unfortunately, the log shows nothing is wrong.  Can you do it again with the "--debug" flag?  It sounds like the watching-only wallet is corrupted.  Can you try re-forking it from the offline computer?  What offline version was it created from?  I know it won't have all the comments, but I can make you a very quick script to move all your comments/labels over, if it works.

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 23, 2012, 02:22:19 PM


Bug Bounty Test Drive!

Recommendations welcome.  Bug reports welcome.  Let's find out if this works...

If you find bugs, please report them in that thread.  If you don't, I'll post a link to this thread from there... I want to make sure there's a clear timeline of bug reports so that duplicate reports are avoided (and multiple payouts for the same bug).
sr. member
Activity: 430
Merit: 250
December 23, 2012, 04:51:16 AM
Well, thanks!  And I'm always happy to have people help out.  Dig into the code, maybe even develop new features.  If you want to get involved, please email me and I'll give you little homework assignments that will get you acquainted with the code and might be useful, too!  

That sounds like a lot of fun, will let you know when I'm done.

I can confirm this bug is fixed.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 23, 2012, 01:38:08 AM
Please Sanity Check v0.86.3-beta!

I just posted a v0.86.3-beta to the new AmazonS3 "bucket."  The Get Armory! page now references the new download location, and I need to make sure everyone has access, and that there's no other stupid bugs that will require further fixes before I trigger version notifications.

I haven't merged it into master yet, because I don't want to trigger any notifications until I get this sanity check.  But I did create a signed tag and pushed it to github:  "v0.86.3-beta".  You can check that out right now and play with it.  ("git tag -v v0.86.3-beta" to verify the signature)



I want to start bug-bounties.  Something like 0.1 BTC per new bug you discover.  If you report a significant bug, and there's no one else has mentioned it since the last release, I'll send you 0.1 BTC.  Of course, this won't be so clean, because what is a "significant" bug?  What qualifies as a bug vs. a missing feature?  I don't want to be stingy about it, but I also don't want people to start expecting payment for pointing out missing punctuation in a warning box.... or maybe I should be paying for such tiny things...?

Please feel free to discuss how I might do execute this idea with the best efficiency.  I'm thinking I'll start by doing it for 2 weeks only, and with a maximum of 3 BTC paid out (30 bugs) in that two weeks.  That will limit my risk of unexpected abuses.  Also, I probably won't send out the 0.1 right away, unless someone requests it.  If the bug reports are coming in quickly, I will aggregate multiple payouts into one transaction.  I am considering posting it in the main discussion forum, but I might get too much attention.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 22, 2012, 10:20:41 PM
I always make a new wallet to check new functionality with, so you have this approach covered Smiley

That is not a subtle bug at all!  I just tested creating a new wallet and it really fails!  I probably didn't notice it because it doesn't trigger if you create the wallet after the blockchain is loaded.  It only triggers if the wallet has never been used at the time the initial blockchain scan finishes.

I'm currently very busy (writing my master thesis), but have been looking for a way to contribute to the bitcoin comunity (with a degree in computer science and mathematics I think I might have something to give), and after that I'd be happy to help you with anything you might need (I guess code reviews never hurt). I don't think I've ever been as impressed with any piece of software as I am with armory.

Well, thanks!  And I'm always happy to have people help out.  Dig into the code, maybe even develop new features.  If you want to get involved, please email me and I'll give you little homework assignments that will get you acquainted with the code and might be useful, too! 



I just fixed the bug in my local copy of the github repo, but github is down for maintenance, so I can't sync any of my other virtual machines in order to compile the new version.  Gah!  As soon as it's back up, I'll be releasing it officially as 0.86.3-beta.
sr. member
Activity: 430
Merit: 250
December 22, 2012, 07:57:07 PM
I ran the new version, it said that armory is offline but none of the transactions appeared.

Might be because I created a new wallet while it was synching, and got a bunch of these errors:
Code:
TypeError: Non-hexadecimal digit found
2012-12-22 22:15 (INFO) -- ArmoryQt.py:3199 - Dashboard switched to fully-online mode
2012-12-22 22:15 (INFO) -- ArmoryQt.py:1632 - Syncing wallet: 32h6U5vjR
2012-12-22 22:15 (ERROR) -- ArmoryQt.py:3442 - Error in heartbeat function
Traceback (most recent call last):
  File "ArmoryQt.py", line 3300, in Heartbeat
  File "ArmoryQt.py", line 1635, in finishLoadBlockchain
  File "armoryengine.pyc", line 6835, in detectHighestUsedIndex
  File "armoryengine.pyc", line 939, in int_to_binary
  File "armoryengine.pyc", line 917, in hex_to_binary
  File "encodings\hex_codec.pyc", line 42, in hex_decode

all these errors are only linked to the newly created wallet.

edit: tried it again, this time didn't do anything at all, the result is still the same, no transactions show up.
edit 2: permanently deleted the wallet in question and all transactions suddenly showed up.

Crap!  As usual, what seemed like an arbitrarily small update to fix something small, resulted in breaking something subtle.  I can see how it is possible to have negative values for a number that is encoded as a positive number and would throw that error.  Fixed a bug, made another one.
As someone who used to have this same problem I totally get it. It helped me to purposely slow down my programming. Smiley

Quote
I really need to start bug bounties or something.  This bug is really only triggered on new wallets, which would be a disaster for new users, but very few users on this thread are creating new wallets.  I think I'll start a 0.1 BTC/bug bounty, for a month.  If someone has ideas for how to run this in a sane way that won't result in lots of disputes, I'm all for it.  I think it could also be a good marketing ploy -- some users would probably start using Armory just to try to get bounties!  
I always make a new wallet to check new functionality with, so you have this approach covered Smiley

Quote
Looks like I have to fix that bug, and recompile and re-sign everything.  Ugh!   But thanks, prezbo, you actually saved me a lot of heartache from new users having bad experiences!
Not a problem, that's why we are here.

I'm currently very busy (writing my master thesis), but have been looking for a way to contribute to the bitcoin comunity (with a degree in computer science and mathematics I think I might have something to give), and after that I'd be happy to help you with anything you might need (I guess code reviews never hurt). I don't think I've ever been as impressed with any piece of software as I am with armory.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 22, 2012, 07:34:18 PM
I ran the new version, it said that armory is offline but none of the transactions appeared.

Might be because I created a new wallet while it was synching, and got a bunch of these errors:
Code:
TypeError: Non-hexadecimal digit found
2012-12-22 22:15 (INFO) -- ArmoryQt.py:3199 - Dashboard switched to fully-online mode
2012-12-22 22:15 (INFO) -- ArmoryQt.py:1632 - Syncing wallet: 32h6U5vjR
2012-12-22 22:15 (ERROR) -- ArmoryQt.py:3442 - Error in heartbeat function
Traceback (most recent call last):
  File "ArmoryQt.py", line 3300, in Heartbeat
  File "ArmoryQt.py", line 1635, in finishLoadBlockchain
  File "armoryengine.pyc", line 6835, in detectHighestUsedIndex
  File "armoryengine.pyc", line 939, in int_to_binary
  File "armoryengine.pyc", line 917, in hex_to_binary
  File "encodings\hex_codec.pyc", line 42, in hex_decode

all these errors are only linked to the newly created wallet.

edit: tried it again, this time didn't do anything at all, the result is still the same, no transactions show up.
edit 2: permanently deleted the wallet in question and all transactions suddenly showed up.

Crap!  As usual, what seemed like an arbitrarily small update to fix something small, resulted in breaking something subtle.  I can see how it is possible to have negative values for a number that is encoded as a positive number and would throw that error.  Fixed a bug, made another one.

I really need to start bug bounties or something.  This bug is really only triggered on new wallets, which would be a disaster for new users, but very few users on this thread are creating new wallets.  I think I'll start a 0.1 BTC/bug bounty, for a month.  If someone has ideas for how to run this in a sane way that won't result in lots of disputes, I'm all for it.  I think it could also be a good marketing ploy -- some users would probably start using Armory just to try to get bounties! 

Looks like I have to fix that bug, and recompile and re-sign everything.  Ugh!   But thanks, prezbo, you actually saved me a lot of heartache from new users having bad experiences!
sr. member
Activity: 430
Merit: 250
December 22, 2012, 04:18:07 PM
I ran the new version, it said that armory is online but none of the transactions appeared.

Might be because I created a new wallet while it was synching, and got a bunch of these errors:
Code:
TypeError: Non-hexadecimal digit found
2012-12-22 22:15 (INFO) -- ArmoryQt.py:3199 - Dashboard switched to fully-online mode
2012-12-22 22:15 (INFO) -- ArmoryQt.py:1632 - Syncing wallet: 32h6U5vjR
2012-12-22 22:15 (ERROR) -- ArmoryQt.py:3442 - Error in heartbeat function
Traceback (most recent call last):
  File "ArmoryQt.py", line 3300, in Heartbeat
  File "ArmoryQt.py", line 1635, in finishLoadBlockchain
  File "armoryengine.pyc", line 6835, in detectHighestUsedIndex
  File "armoryengine.pyc", line 939, in int_to_binary
  File "armoryengine.pyc", line 917, in hex_to_binary
  File "encodings\hex_codec.pyc", line 42, in hex_decode

all these errors are only linked to the newly created wallet.

edit: tried it again, this time didn't do anything at all, the result is still the same, no transactions show up.
edit 2: permanently deleted the wallet in question and all transactions suddenly showed up.
legendary
Activity: 1764
Merit: 1002
December 22, 2012, 03:51:49 PM
great work.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 21, 2012, 12:29:18 AM
Well, what a pain in the @$$.  Github has decided they no longer support uploading files.  I was paying an exorbitant amount to them for a premium acct just to have that feature.  Oh well.  Onto Amazon S3...

I'm fairly comfortable with the 0.86.2 as-is, so I basically just moved the existing installers over to my offline system for signing, and then brought them back for an official release.  I just uploaded them to my new Amazon S3 account.  Let's find out if it works:

https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.2-beta/armory_0.86.2-beta_win64.msi
https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.2-beta/armory_0.86.2-beta_windows_all.msi
https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.2-beta/armory_0.86.2_amd64.deb
https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.2-beta/armory_0.86.2_i386.deb

And, I saw no reason not to switch to using SHA256 for hashing the installers into a signed release file, so that's what I did.  If you were previously downloading the .asc file and checking the hashes with "md5sum *.deb *.msi", just change that to "sha256sum *.deb *.msi". 

Once I hear back from people that the downloads work, I will update the website and the merge it into master (and tag and sign the repo).
full member
Activity: 725
Merit: 142
December 20, 2012, 04:29:50 PM

If you have 2GB or less, I'm guessing Armory won't work very well (perhaps like what you said).  Before SatoshiDice came along, it was fine, but even just indexing pointers to data on disk is over 1 GB now.  I started upgrading Armory to switch to disk-based indexing (which really needed to be done eventually, but I didn't realize it was going to be so soon!), but it's turning out to be a pretty substantial upgrade for Armory.  It will happen in the next month or two, though ...

The bitcoin-qt disconnect-reconnect cycle is a side effect of your system thrashing.  It can happen when bitcoin-qt isn't fully sync'ed with the network yet and Armory is struggling to keep up with the blocks, or when you don't have enough RAM to build the blockchain index. 

I wish I had better news for you...

That's what I figured, but I thought it was worth checking. I'll just re-purpose another machine until you finish the upgrade.

Thanks again.
legendary
Activity: 1792
Merit: 1008
/dev/null
December 20, 2012, 03:42:41 PM
I've been trying to use Armory on netbook (EeePC 1005HAB), and I've run into a couple problems:
 1. When I start Armory in online-mode, it hangs at scanning the blockchain. The program says "Connected (0 blocks)" and endlessly scans. I've let it run overnight to no avail.
 2. Armory randomly drops the connection to bitcoin-qt and reconnects a second later. This tends to happen a number of times consecutively.

You mentioned that Armory is fairly RAM intensive - could this be the cause? It's running Windows 7 32-bit and Armory 0.86.2-beta.

Thanks,
--winter

If you have 2GB or less, I'm guessing Armory won't work very well (perhaps like what you said).  Before SatoshiDice came along, it was fine, but even just indexing pointers to data on disk is over 1 GB now.  I started upgrading Armory to switch to disk-based indexing (which really needed to be done eventually, but I didn't realize it was going to be so soon!), but it's turning out to be a pretty substantial upgrade for Armory.  It will happen in the next month or two, though ...

The bitcoin-qt disconnect-reconnect cycle is a side effect of your system thrashing.  It can happen when bitcoin-qt isn't fully sync'ed with the network yet and Armory is struggling to keep up with the blocks, or when you don't have enough RAM to build the blockchain index.  

I wish I had better news for you...
there is a workaround (still a bit slow armory but a working one).
install linux with a big swap (atleast 4GB, best 8GB)
set swapiness (google) to 100
run armory and enjoy Wink
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 20, 2012, 03:32:18 PM
I've been trying to use Armory on netbook (EeePC 1005HAB), and I've run into a couple problems:
 1. When I start Armory in online-mode, it hangs at scanning the blockchain. The program says "Connected (0 blocks)" and endlessly scans. I've let it run overnight to no avail.
 2. Armory randomly drops the connection to bitcoin-qt and reconnects a second later. This tends to happen a number of times consecutively.

You mentioned that Armory is fairly RAM intensive - could this be the cause? It's running Windows 7 32-bit and Armory 0.86.2-beta.

Thanks,
--winter

If you have 2GB or less, I'm guessing Armory won't work very well (perhaps like what you said).  Before SatoshiDice came along, it was fine, but even just indexing pointers to data on disk is over 1 GB now.  I started upgrading Armory to switch to disk-based indexing (which really needed to be done eventually, but I didn't realize it was going to be so soon!), but it's turning out to be a pretty substantial upgrade for Armory.  It will happen in the next month or two, though ...

The bitcoin-qt disconnect-reconnect cycle is a side effect of your system thrashing.  It can happen when bitcoin-qt isn't fully sync'ed with the network yet and Armory is struggling to keep up with the blocks, or when you don't have enough RAM to build the blockchain index. 

I wish I had better news for you...
full member
Activity: 725
Merit: 142
December 20, 2012, 03:26:55 PM
I've been trying to use Armory on netbook (EeePC 1005HAB), and I've run into a couple problems:
 1. When I start Armory in online-mode, it hangs at scanning the blockchain. The program says "Connected (0 blocks)" and endlessly scans. I've let it run overnight to no avail.
 2. Armory randomly drops the connection to bitcoin-qt and reconnects a second later. This tends to happen a number of times consecutively.

You mentioned that Armory is fairly RAM intensive - could this be the cause? It's running Windows 7 32-bit and Armory 0.86.2-beta.

Thanks,
--winter
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
December 20, 2012, 09:52:57 AM
Is there anywhere I can read about the wallet specification without delving into armory source?

Indeed!  It's on the webpage:  http://bitcoinarmory.com/index.php/armory-wallet-files

However, I'm working on a new wallet format now, so that will be changing pretty substantially in the near future, but there's also a lot of work left to be done (so maybe not near-near future...)
full member
Activity: 125
Merit: 100
December 20, 2012, 07:25:34 AM
Is there anywhere I can read about the wallet specification without delving into armory source?
hero member
Activity: 496
Merit: 500
December 19, 2012, 05:05:20 PM
There doesn't seem to be anything interesting in Armory's log (even with --debug), but when I first start it up I get these notifications in Bitcoin's debug.log...

Code:
accepted connection 127.0.0.1:57797
accepted connection 127.0.0.1:57798
disconnecting node 127.0.0.1:57797
disconnecting node 127.0.0.1:57798
accepted connection 127.0.0.1:57799
disconnecting node 127.0.0.1:57799
accepted connection 127.0.0.1:57801
accepted connection 127.0.0.1:57802
disconnecting node 127.0.0.1:57802
disconnecting node 127.0.0.1:57801
legendary
Activity: 2126
Merit: 1001
December 19, 2012, 12:54:47 PM
Ente

Actually, I think you just need to recompile.  Just type "make".  And you shouldn't do a checkout on the remotes/origin directly.   Just "git checkout dev" then do a "git pull origin dev".

Otherwise,  that's the right spirit!  Just compile it first,  *then* look for bugs :-)

dont forget the make clean Wink

Whoops!
Thank you, you two! Running on dev now! :-)

Ente
Jump to: