Pages:
Author

Topic: [BOUNTY] Armory Bugs: 0.1 BTC each (Disabled: Coming back soon!) (Read 7626 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
I forgot to mention, you need to completely uninstall the previous version.  For some reason, switching from 32-bit to 64-bit or vice versa leads to crashes because the installer decides not to replace all the installed files.  I have tried fixing it, but it never worked Undecided
legendary
Activity: 858
Merit: 1000
88.1-beta is my version.

If armory is running in the background, when the blockchain scan finishes armory crashes.  Sometimes it gives an error like this:

Once I get the error, I will post the screenshot here

By the way, I'm temporarily disabling this.  The last thing I need right now is to go hunting small bugs while I have a usability "crisis" to deal with.  I'll re-enable this bounty later.
 
Are you running the 64-bit version?  If not, get the latest 64-bit version from the downloads page.  A lot of these crashing issues were actually due to the 32-bit build (and resource usage).  All that is being fixed soon.

Oh, OK thanks.

I will check if I am running a 64bit version. Thanks for the help, and I hope you solve the usability 'crisis'!
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
88.1-beta is my version.

If armory is running in the background, when the blockchain scan finishes armory crashes.  Sometimes it gives an error like this:

Once I get the error, I will post the screenshot here

By the way, I'm temporarily disabling this.  The last thing I need right now is to go hunting small bugs while I have a usability "crisis" to deal with.  I'll re-enable this bounty later.
 
Are you running the 64-bit version?  If not, get the latest 64-bit version from the downloads page.  A lot of these crashing issues were actually due to the 32-bit build (and resource usage).  All that is being fixed soon.
legendary
Activity: 858
Merit: 1000
88.1-beta is my version.

If armory is running in the background, when the blockchain scan finishes armory crashes.  Sometimes it gives an error like this:



or this:
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Hello,

this

http://www.reddit.com/r/Bitcoin/comments/1bdbsk/bitcoin_client_developers_default_to_sending/

got me a bit worried about my paper backup I made with Armory a year ago.


If I make transactions with Armory, do I have to update my paper backup after each transaction to be sure all the change addresses are included?

How is Armory taking care of the change addresses? 

Is there also a limited amount of calculated addresses like it seems to be the case in the Bitcoin-QT client?


Thanks!

People lose coins because they get creative or they don't understand the system.  There's a very good reason we set it up the way we do.  And using the default behaviors of these clients will not result in coin loss, by design (though, I suppose bugs could still happen).

If you printed out a paper backup of your Armory wallet, it's good forever.  The piece of paper will let you generate any number of addresses (13 trillion if you wnat, but really almost-infinite).  Whenever you receive coins, Armory generates the next address in the chain for you.  When it needs to send change to itself, it generates the next address.  So you receive coins to address 1,000, then you click "Recieve Bitcoins" again, and you end up with address 1,001... then you send money which generates change, which is sent to 1,002, then you hit "Receive Bitcoins" again and you get 1,003.  It's all protected by your paper backup... forever.

The only thing that isn't protected by it is imported addresses.  And people lose coins because they think the default behavior should be for change to get sent back to the same address.  But that's a privacy SNAFU.  Every person you ever transact with can see your entire history, including your entire account balance.  For instance, if you have $1,019,032 in Bitcoins... every person you ever transact with knows that you have $1,019,032.  Not only that, but now they can watch you... if they see it jump to $10mil, they hire a hitman to take you out and take your coins.  I wouldn't want everyone I talk to to know the balances of all my bank accounts...

newbie
Activity: 18
Merit: 0
Hello,

this

http://www.reddit.com/r/Bitcoin/comments/1bdbsk/bitcoin_client_developers_default_to_sending/

got me a bit worried about my paper backup I made with Armory a year ago.


If I make transactions with Armory, do I have to update my paper backup after each transaction to be sure all the change addresses are included?

How is Armory taking care of the change addresses? 

Is there also a limited amount of calculated addresses like it seems to be the case in the Bitcoin-QT client?


Thanks!
hero member
Activity: 742
Merit: 500
Mac OS X Mountain Lion - brew installed with --devel (so testing GH branch)

http://monosnap.com/image/nOjBKYOxqsK9se30dwwJGrVqH
http://monosnap.com/image/qXiEyXHg7ZxmfeO21Kni9LCjK
Yeah this is a QT bug I think.  If you click on the edge of the window to resize, everything should snap into place.  Hopefully something can be done in Armory to fix this since some of the other programs I've used that use QT don't have this issue.
newbie
Activity: 11
Merit: 0
legendary
Activity: 1792
Merit: 1087
I don't know if you consider this as a bug: Armory does not support send to P2SH addresses in both mainnet mode and testnet mode
hero member
Activity: 614
Merit: 500
In fedora when I try to launch Bitcoin Armory I type in:

python ArmoryQT.py and get the error:

python: can't open file 'ArmoryQT.py': [Errno 2] No such file or directory

So, in order to get it to work I have to ls in BitcoinArmory and then copy ArmoryQT.py and then paste it after the python command to get it to work.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
The links for the new version are on the Discussion thread.

Downloaded, previous version removed in full (all directories and registry entries). New version started in offline mode, switched to Expert, shutdown.
Another start in offline mode, just to import MultiBit keys - the same ones I'm using since testing started - than shutdown again. Set Bitcoin datadir
and started Armory, it synced and all seemed fine. With some other things to do, I just left it to run, with Bitcoin-Qt running as well, and than after
like 5 minutes Armory lost connection than reconnected to Bitcoin-Qt. Than one more disconnect, reconnect, silence. After few minutes, I went to
check the wallet - balances shown properly and immidiately upon opening, great! - than went to clicking around not doing anything specific. After a
while, "Transactions" tab went blank even though Armory was in online mode. Than it crashed, same module in question as shown here - that is one
of older screenshots, not new one. This time I managed to grab more crash details - in .zip there are Armory log and WinXP crash log, that is created
and normaly submitted to Microsoft than deleted. Since I have reporting disabled, in previous crashes mentioned log file was gonne faster than I acted.

http://www.sendspace.com/file/gfmeew

Uhh.  I've always known that Windows XP is the least reliable for Armory... but geezuz.  I see in the log file that crazy "500k blocks added in the last 5 sec" stuff again.

I have absolutely no idea how that is triggered, or how to reproduce it.  Obviously, it doesn't do that on my Win XP VM, or else I wouldn't be releasing it...

By the way, what version of Bitcoin-Qt are you using? 

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
subSTRATA, you're killing me!   You are both a blessing and curse:  your rigorous attention to detail combined with the fact that I'm a perfectionist has led to me fixing lots and lots of stuff, but also spending tons of time focusing on little details.  Not everything was little (I did find a couple odd crashes, and dialogs that work quite right), but we all know that the app is going to have bugs and/or crash occasionally Smiley  At some point I just have to release something ...

So, while I do appreciate all the little things, this next thing is just a sanity check.  I have all the QR code stuff implemented, fixed address sweeping subtleties, fixed some display issues, negative send amounts...

Please test it out and I'll reward any serious bugs, but I'm expecting that I'll just release it as is unless there's something epic.  0.2 BTC for anything that seriously impacts usability -- 0.3 if you find something that actually makes me re-compile/re-package everything Smiley


The links for the new version are on the Discussion thread.

By the way, I addressed 6 slightly (long story), 7 and 8 and 9 are not things I'm going to fix right now (though 8 does resolve itself the next time the ledger is updated or you switch the filter... which happens occasionally and on new relevant tx).
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
For the -0.00000001 fee, possibly because I have not updated the armory in my offline computer for a long time. So that might have been fixed.

Ahh, that would explain it.  Those things mostly showed up in offline mode when it tried to display balances that were defaulted to -1 when there was no blockchain info available.  A couple months ago I went through and cleaned up all that that I could find. 

Obviously, the old version works and doesn't need to be upgraded, but I would recommend it since I added a confirmation window like you have when sending money online, to make it easier to confirm the transaction details (it shows you all recipients and fee before you sign it).  It also has a couple extra warnings that may pop up if something about the tx looks suspicious.
legendary
Activity: 1792
Merit: 1087
The private key shown in testnet mode is not compatible with satoshi client. The leading symbol should be "c" instead of "5": https://en.bitcoin.it/wiki/List_of_address_prefixes

Not sure if this counts because it's minor problem in the testnet mode. Just forget the bounty if you think it is not an important one

Another bug is rounding error in transaction fee. Sometimes when I sign a transaction with 0 fee, the client shows something like -0.00000001 (yes, a negative number) as fee. It seems just a cosmetic problem without affecting usability. Is it related to the use of floating-point number?


How about 0.1 for both?  The testnet keys are obviously not that important, but it was silly/unnecessary to be hardcoding that.  And after all, I complain about not having enough testers, so it's worth fixing to make it easier for testers!

Where did you see the -0.00000001 fee?  Usually this occurs when value variables that have been set to sentinel UNINITIALIZED (== -1) and then somehow end up getting used anyway.  There shouldn't be any problems with rounding, because I only use ints/longs for all values (in satoshis), and have a coin2str and str2coin function that converts between value and visual repr.  

However, I suppose it's still possible to have some -1's laying around... is it consistent enough you can tell me how to reproduce it?  I don't think I've seen this myself... (I mean, I've seen it in the past, but I thought I had fixed all of them)



Forget the bounty for the testnet one. Armory is so great and I don't think I should accept your out-of-pocket money.

For the -0.00000001 fee, possibly because I have not updated the armory in my offline computer for a long time. So that might have been fixed.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
The private key shown in testnet mode is not compatible with satoshi client. The leading symbol should be "c" instead of "5": https://en.bitcoin.it/wiki/List_of_address_prefixes

Not sure if this counts because it's minor problem in the testnet mode. Just forget the bounty if you think it is not an important one

Another bug is rounding error in transaction fee. Sometimes when I sign a transaction with 0 fee, the client shows something like -0.00000001 (yes, a negative number) as fee. It seems just a cosmetic problem without affecting usability. Is it related to the use of floating-point number?


How about 0.1 for both?  The testnet keys are obviously not that important, but it was silly/unnecessary to be hardcoding that.  And after all, I complain about not having enough testers, so it's worth fixing to make it easier for testers!

Where did you see the -0.00000001 fee?  Usually this occurs when value variables that have been set to sentinel UNINITIALIZED (== -1) and then somehow end up getting used anyway.  There shouldn't be any problems with rounding, because I only use ints/longs for all values (in satoshis), and have a coin2str and str2coin function that converts between value and visual repr.  

However, I suppose it's still possible to have some -1's laying around... is it consistent enough you can tell me how to reproduce it?  I don't think I've seen this myself... (I mean, I've seen it in the past, but I thought I had fixed all of them)

legendary
Activity: 1792
Merit: 1087
The private key shown in testnet mode is not compatible with satoshi client. The leading symbol should be "c" instead of "5": https://en.bitcoin.it/wiki/List_of_address_prefixes

Not sure if this counts because it's minor problem in the testnet mode. Just forget the bounty if you think it is not an important one

Another bug is rounding error in transaction fee. Sometimes when I sign a transaction with 0 fee, the client shows something like -0.00000001 (yes, a negative number) as fee. It seems just a cosmetic problem without affecting usability. Is it related to the use of floating-point number?

There is a bounty of 0.1 BTC per new bug found in Armory 0.86.3-beta, up to a maximum of 3 BTC.  This test drive ends on Jan 1, 2013.  (at my discretion, I may pay more than 0.1 BTC, depending on the scope/impact/subtleness of the bug)

Armory doesn't have enough testers.  And the current testers are mostly Armory veterans that have been using it for a while and not doing new-user operations like creating new wallets, printing their one-time backups, etc.  So I'm hoping that this post will get some fresh eyes on the app, and also give current testers some incentive to really try to break things.

So, I'm going to test bug bounties for a short period of time, to see what kind of response I get.  I may extend it in the future, if it turns out to be an efficient way to get testers and find bugs without too much dispute.  And I do expect some dispute, but I'm going to try to be lenient about it.  That's also why I've set an upper limit of 3 BTC, to limit the impact of this going terribly wrong...

What qualifies as a "bug" is anything that impacts usability: I don't really want to give out bounties for grammatical improvements or missing punctuation in dialogs.  Though maybe some would argue that I should.    What I'm really looking for is things like checkboxes that should be disabled but aren't when using a watching-only wallet, selection dialogs with zero things to choose from, buttons that do nothing when clicked, etc.  And obviously crashes, too.  

Here's a list of well-known bugs that don't count, because I already know about them and there's nothing I can do at the moment:
  • (1) Armory uses a lot of RAM
  • (2) Loading Armory before Bitcoin-Qt is sync'd causes rapid connect-disconnect flickering
  • (3) Lack of unicode support (coming soon, actually, just not in 0.86.3).
  • (4) Windows systems always detect memory pool corruption and delete it.
  • (5) Anything to do with the message-signing dialog -- it's queued to be revamped soon to be more useful (and match Bitcoin-Qt)
  • (6) *.deb package is of "bad quality" according to newer versions of Ubuntu
  • (7) Armory sometimes crashes after 0.5-6 days (it's not a memory leak, for sure)
  • (8 ) Paper backup printing doesn't work in OSX.  Please copy the data by hand or copy to another program where printing does work.
  • (9) System tray icon does not disappear when Armory is closed (Windows only).
  • (10) Unclickable link in version-check window

Here's what you need to do to collect the bounty:
  • (1) Be the first to post about a particular bug for the current testing version
  • (2) If you don't include a payment address in your post, I will assume that I should send the 0.1 BTC to donation address in your signature
  • (3) Either post relevant portions of the log file, or send me the log via email or PM (File-->Export Log File)
  • (4) Have some patience -- I need to figure out the best way to run this operation.  Also, I will send out payments in batches.  If 4 people find 3 bugs each, I'll be sending out one tx paying 0.3 BTC to all four people at the end of the day or the next morning (you can request sooner if you're super anxious for some reason).

If you're interested please download the absolute latest: Armory 0.86.3-beta.  It's not a testing version, but there won't be another testing version for a while, and I'm sure there's still plenty of bugs to be found here.

UPDATE:  Also, I've decided that anything in the testing branch is fair game.  That is probably more bug-dense, but this little bounty drive will encourage me to do more internal testing before merging anything into that branch Smiley   (for 0.86.5-testing, I compiled and posted Windows-testing versions above).



Bugs reported (and thus, don't expect a bounty if you just found it):
(1) UAC/admin needed even for local installation of Armory on Windows.  
(2) Wallets with P2Pool payouts crash Armory!  (reported here).
(3) Missing string replacement on dashboard when user is missing blk*.dat files.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
~~~~~

28. On "Transactions" tab, attempting to sort transactions based on incoming / outgoing column does nothing. Icon tooltip for both types of
transactions - green arrow pointing at door and red arrow pointing away from door - says "Bitcoins received".

~~~~~

Tooltip text for outgoing transactions is changed to "Bitcoins sent" but sorting still does not work.

~~~~~

33. Create wallet window title is "Create/Import Armory Wallet" but user can't import wallet using window in question here.

~~~~~

Not fixed.

Thanks.  I sent you 0.5 BTC last night.  I wasn't quite sure how to count things up since I changed the rules slightly, and I don't know how to fit everything in.  I hope you'll think that's fair...

I never added sorting to the in/out column, because I didn't see the point.  And you're right I forgot to change the "Create/Import wallet" window.  I just fixed it now and it should be in the real release (coming soon!)
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
4. Create encrypted wallet then make it unencrypted. Wait like 10 seconds and click on "Make Paper Backup". Password prompt will
popup even though wallet is unencrypted. The only way I found to fix the issue is to restart Armory.

~~~~~

5. Import two valid keys, click on "Backup Individual Keys" and than set checkboxes as shown on screenshot bellow. Both keys will
have the same chain index - negative one? - and invalid description shown, e.g. "(Unused/Address Pool)" instead of "(Imported)".

https://i.imgur.com/qM87H.png

~~~~~

Clickable link to clipboard functionality still does not work for me. In both NotePad++ and WordPad all I get is just plain text, as shown:

Code:
Click here to pay for your order!
If clicking on the line above does not work, use this payment info:
Pay to:  13MtyJVMRAR9v3Jp3ujuKHxTheSqDP7uDC
Message: Joe's Fish Shop - Order #123 - 3 kg tuna - (888)555-1212

HTML and URL buttons work as expected, but once clicked, text "Copied!" pushes QR code to right, hidding almost half of it.

I'll look at these when I get home tonight, but I should mention that I downloaded NotePad++ and was not able to get it to accept link text.  I noticed that it highlights URLs for you, but  that's different than accepting&displaying rich-text.   I used MS Word and the "Compose" window in Gmail to test that the links copy correctly in my Windows VM.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
One thing quite annoying IMO = once everything is setup correctly (Bitcoin-Qt running and synced, Armory pointed to correct datadir)
and Armory is started, it will sync with the blockchain - humilliate HDD - even if no wallets are created. Is there some good reason for
such behaviour? From my observations, while scanning blockchain, Armory is building database of all addresses he finds there. If user
attempts to sweep or import some key afterwards, Armory might warn address belonging to key is not associated with any transaction
and than cancel rescan. That is a cool feature, but what if user started Armory just to copy / paste some existing address, generate
a new one or anything other than sweep or import keys, which are activities that happen probably more often than sweep or import?


Why is that annoying?  There's no reason to be using Armory if you don't have any wallets, so you might encounter this unnecessary scan once, maybe twice.  Ever.  And even so, the original scan is still needed and not redundant if you create a new wallet -- because creating a new wallet does not trigger a "dirty" state.  It can piggyback off of the original scan knowing that there's no point in rescanning when you've never seen these addresses before.   So it works out nicely if it takes the person 5 min to create a wallet and make a backup.  It will be done scanning and ready to be used by the time they're done.

I'm not sure I understand your complaint/recommendation about sweeping or importing... but I can tell you that I don't have a good way to interrupt a scan operation.  You pretty much have to wait for it to finish and then start a new rescan (which it will do if you import or sweep).  It's mentioned somewhere (but I forgot where), that you can always start Armory in offline mode to import private keys, and then go into online mode so that it will grab everything in one scan.

I will investigate the sweeping problem, more -- that sounds like a pretty serious problem!   I got your two log files from sendspace... does one of those have the errors you encountered while sweeping/importing?   Also, I will add an extra code path to catch trying to get to the address book without wallets.

By the way, tools->message signing is still off-limits.  It will all be re-vamped when I get the new wallets and synchronize the message signing interface with Bitcoin-Qt.

Thanks again for the diligent testing.

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
~~~~~

34. While in online mode and no wallets created > "Offline transactions" > "Create New Offline Transaction" > "OK" results
in blank window being shown.

~~~~~

Not fixed!

Let me reset report counter, LOL!

1. While in online mode, open empty wallet and than proceed to import or sweep keys but click on "No" once Armory asks to go offline and scan
blockchain for transactions. New address will be shown in wallet, I guess the one from unused pool. Repeat the procedure one more time, so that
two addresses are shown in wallet, than click on "Addresses used" number on "Wallet Properties" window. You will see the same as on screenshot
bellow = 2 addresses on list, 1 address reported as used on "Extend Address Pool" window and 0 next to "Addresses Used" on "Wallet Properties".

https://i.imgur.com/11ro2.png

~~~~~

2. Attempting to sweep key resulted in crash presumably because I clicked on "Cancel" at final warning window that pops-up once the blockchain
scan is completed ("Are you sure you want to sweep funds to this wallet?" or similar message). Another crash after attempting to import "reverse"
form key version of key that is not "reversed". Both crash Win reports point to same file - check screenshot bellow. In both cases, looking at the
log file, Armory seems to go crazy with block count. After one of this crashes and subsequent run, it even reported Bitcoin-Qt is not synced while
it was actualy synced.

https://i.imgur.com/uDlJY.png
http://www.sendspace.com/file/kfwzd3

Oh boy, lots to look into.  Can you send me the log file?   I'll send you... a lot of BTC Smiley  (probably 0.5)
Pages:
Jump to: