Bitcoin Forum

Bitcoin => Project Development => Topic started by: etotheipi on December 23, 2012, 05:13:33 PM



Title: [BOUNTY] Armory Bugs: 0.1 BTC each (Disabled: Coming back soon!)
Post by: etotheipi on December 23, 2012, 05:13:33 PM
There is a bounty of 0.1 BTC per new bug found in Armory 0.86.3-beta (http://bitcoinarmory.com/index.php/get-armory), 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 (http://bitcoinarmory.com/index.php/get-armory).  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 (https://github.com/etotheipi/BitcoinArmory/tree/testing) 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 :)   (for 0.86.5-testing, I compiled and posted Windows-testing versions above (https://bitcointalk.org/index.php?topic=133055.msg1423560#msg1423560)).



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 (https://bitcointalk.org/index.php?topic=56424.msg1417623#msg1417623)).
(3) Missing string replacement on dashboard when user is missing blk*.dat files.


Title: Re: [Test Drive] Armory Bug Bounties - 0.1 BTC/bug
Post by: flatfly on December 23, 2012, 08:59:41 PM
Nice initiative!

Not sure if this can be called a bug, but the Armory installer refuses to proceed on a non-admin user account (on Windows.)  Could this possibly be changed, or are there good reasons for that? The Bitcoin-Qt installer happily proceeds on a standard account, by the way.


Title: Re: [Test Drive] Armory Bug Bounties - 0.1 BTC/bug
Post by: etotheipi on December 23, 2012, 11:15:29 PM
Nice initiative!

Not sure if this can be called a bug, but the Armory installer refuses to proceed on a non-admin user account (on Windows.)  Could this possibly be changed, or are there good reasons for that? The Bitcoin-Qt installer happily proceeds on a standard account, by the way.

I assume you tried to install it in a non-admin-required directory?  Even the "bitcoin:" URL-registration should happen at the user-level, so I'm not sure what would require admin privileges.  I just tried installing it in a non-admin directory and I got a UAC dialog asking if I want to allow this program from the internet to make changes to my hard drive.  Is that an Admin-required dialog?  I even have unchecked the box in my .msi builder that says "Must be admin to install"... hmmm.  I wonder if it's something to do with code-signing?

Admittedly, I'd prefer users to install it via admin, so it's slightly harder for someone to manipulate the installed files -- but maybe that's pointless with all the root exploits in Windows.  Users should have the option to install it as non-admins...

I'll add you to the list of 0.1 BTC recipients :)


Title: Re: [Test Drive] Armory Bug Bounties - 0.1 BTC/bug
Post by: flatfly on December 24, 2012, 09:08:23 AM
Nice initiative!

Not sure if this can be called a bug, but the Armory installer refuses to proceed on a non-admin user account (on Windows.)  Could this possibly be changed, or are there good reasons for that? The Bitcoin-Qt installer happily proceeds on a standard account, by the way.

I assume you tried to install it in a non-admin-required directory?  Even the "bitcoin:" URL-registration should happen at the user-level, so I'm not sure what would require admin privileges.  I just tried installing it in a non-admin directory and I got a UAC dialog asking if I want to allow this program from the internet to make changes to my hard drive.  Is that an Admin-required dialog?  I even have unchecked the box in my .msi builder that says "Must be admin to install"... hmmm.  I wonder if it's something to do with code-signing?

Admittedly, I'd prefer users to install it via admin, so it's slightly harder for someone to manipulate the installed files -- but maybe that's pointless with all the root exploits in Windows.  Users should have the option to install it as non-admins...

I'll add you to the list of 0.1 BTC recipients :)

Thanks!

Yes, I do try to install it to a non-admin directory. The attached screenshot, while not very detailed, might provide some clues as to what exactly is causing the installation to abort. Notice how it refers to "all users"...

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

EDIT: After further analysis, I am 99% confident this happens because the installer tries to create the desktop and start menu shortcuts for ALL existing profiles, not just the current one.

I've played around with the GUI for the first time, and I must say I'm quite impressed by the overall quality and level of attention to detail. Great job!


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: flatfly on December 24, 2012, 12:31:06 PM
Another small one: if Bitcoin-Qt is not running, or not up-to-date, Armory
correctly detects that it is in "offline mode", but the Send Bitcoins
button does show the normal Send dialog.

Isn't it supposed to show the below message instead, as it does when started
through the "Armory (Offline)" shortcut?

Armory is currently running in offline mode, and has no ability to determine balances or create transactions.   In order to send coins from this wallet you must use a full copy of this wallet from an online computer, or initiate an "offline transaction" using a watching-only wallet on an online computer.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 24, 2012, 06:12:56 PM
Another small one: if Bitcoin-Qt is not running, or not up-to-date, Armory
correctly detects that it is in "offline mode", but the Send Bitcoins
button does show the normal Send dialog.

Isn't it supposed to show the below message instead, as it does when started
through the "Armory (Offline)" shortcut?

Armory is currently running in offline mode, and has no ability to determine balances or create transactions.   In order to send coins from this wallet you must use a full copy of this wallet from an online computer, or initiate an "offline transaction" using a watching-only wallet on an online computer.

Thanks flatfly.  There is a box that says "Install for Current User Only" which is checked... but perhaps my MSI creator doesn't do that correctly.  Maybe there's a way to force the correct behavior.

The "offline" thing is one of these strange situations... that message is expected to occur for users who are actually on an offline computer, and won't show up if they are on an online computer that isn't finished scanning.  If the user explicitly puts Armory into offline mode but could be online... I don't know what message to display to match their use case.  I would guess that's the correct message...?   I'll think about that.  Either way,  I added your name to my spreadsheet again :)

I'm glad you like the app -- I was thinking this might be good marketing for Armory, in addition to getting people to help test it.  If you keep digging through it, maybe you can vacuum up all the bounties for yourself :)  (and I hope you can see why I can't test this myself... there's an extraordinary number of options, actions, and states that Armory can be in for each of those). 


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: techmix on December 25, 2012, 11:46:06 AM
I wanted to import some of my private keys, I found out that you cant import keys in hex with upper case characters.
I get this error:
http://i.minus.com/iZMKGeDQwlcbo.png

When I import it in lower case it works fine :)
my test was under ubuntu 64bit

EDIT: I found the problem in the source code. I made a pull request here: https://github.com/etotheipi/BitcoinArmory/pull/36


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: flatfly on December 25, 2012, 03:39:37 PM
Another small one: if Bitcoin-Qt is not running, or not up-to-date, Armory
correctly detects that it is in "offline mode", but the Send Bitcoins
button does show the normal Send dialog.

Isn't it supposed to show the below message instead, as it does when started
through the "Armory (Offline)" shortcut?

Armory is currently running in offline mode, and has no ability to determine balances or create transactions.   In order to send coins from this wallet you must use a full copy of this wallet from an online computer, or initiate an "offline transaction" using a watching-only wallet on an online computer.

Thanks flatfly.  There is a box that says "Install for Current User Only" which is checked... but perhaps my MSI creator doesn't do that correctly.  Maybe there's a way to force the correct behavior.

The "offline" thing is one of these strange situations... that message is expected to occur for users who are actually on an offline computer, and won't show up if they are on an online computer that isn't finished scanning.  If the user explicitly puts Armory into offline mode but could be online... I don't know what message to display to match their use case.  I would guess that's the correct message...?   I'll think about that.  Either way,  I added your name to my spreadsheet again :)

I'm glad you like the app -- I was thinking this might be good marketing for Armory, in addition to getting people to help test it.  If you keep digging through it, maybe you can vacuum up all the bounties for yourself :)  (and I hope you can see why I can't test this myself... there's an extraordinary number of options, actions, and states that Armory can be in for each of those). 

:) No, I think i will let others grab some bounties as well! Actually, I don't have a working bitcoin-qt + full blockchain, so there's a lot of functionality I can't even test right now.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 25, 2012, 06:11:33 PM
When I import it in lower case it works fine :)
my test was under ubuntu 64bit

EDIT: I found the problem in the source code. I made a pull request here: https://github.com/etotheipi/BitcoinArmory/pull/36

Nice catch!  The hex conversion normally takes uppercase chars, but my little char-counting method doesn't.  I added 1ioQoMa7v2YLGtrqznQhrafvrJdeDBN3c for 0.1 to my list :)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 28, 2012, 04:02:02 PM
Restart the bounty!  Finally chased down the P2Pool issue (actually in 0.86.4) and it appears I fixed the problems with bitcoind/-qt 0.8+.   Not only that, but I got lucky and ran into a bug that only occurs when multiple blocks are received during blockchain scanning. 

Armory 0.86.5-testing for Win64 (https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.5-testing/armory_0.86.5-testing_win64.msi)
Armory 0.86.5-testing for Win64 and Win32 (https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.5-testing/armory_0.86.5-testing_windows_all.msi)

Any bug I claim to have fixed but isn't fixed, counts for the bounty.  That means that there's almost guaranteed to be a bug related to bitcoind 0.8+ that I haven't caught.  Let's find them!


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: Red Emerald on December 28, 2012, 10:21:51 PM
I've posted this elsewhere, but figured this was a good place to put it, too.

If you are on OSX and want to try out the testing branch, you can use the latest update to my brew tap.

https://bitcointalk.org/index.php?topic=133097

Code:
brew install --devel armory-qt


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 28, 2012, 10:31:37 PM
I'll just post stuff I consider a bug and let you decide if it really is or not. It is easier for me that way. Machine I'm using runs WinXP SP3 + 2GB RAM.

<img>


Yes, that counts!  If it's a blatant programming error, or data is missing from a dialog, etc, that definitely counts.  I only offer 0.1 BTC because I expect lots of little things like this -- which I really do want to find, but there could be lots of them, so I want to avoid going broke over them.


2. Armory icon stays in tray after normal shutdown. User must mouseover icon to remove it from there.

<img>

This is a bug I've known about for a very long time.  And I've tried, multiple times to fix it.   But nothing I do works!  (I actually have code in Armory to try to hide the icon just before it closes... not sure why that doesn't work, actually).   You still deserve 0.1 BTC for it, and I will add it to the list of bugs-I-already-know-about.

Post, PM or email me a BTC address and I'll send you 0.2 BTC in the near future.  I can send it right away, but it sounds like you'll be finding more stuff in the near future :)



Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: Marker88 on December 28, 2012, 10:49:52 PM
When importing my wallet, you have it to detect ".wallet" files, I think for newer users it would be more helpful for it to include ".dat" types, since the main Bitcoin client uses wallet.dat. Just a thought. Ubuntu 64 Bit


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 28, 2012, 10:55:13 PM
3. When clicking on Help icon left to Close Window icon (top right window corner), mouse pointer turns to "Unavailable" shape instead
of "Help Select" shape. I can't reproduce it in screenshot since screen capture software I use just turns any pointer into normal shape.
Hovering over any (?) area in Armory still shows tooltip with text, though.
<img>

You know -- never once in my entire life have I ever clicked on one of those Windows help buttons.  And now that I do, I think it's behavior is correct -- whatever you expect it to do:  it's unavailable.  I don't even know how to override that behavior if I wanted to. 

When importing my wallet, you have it to detect ".wallet" files, I think for newer users it would be more helpful for it to include ".dat" types, since the main Bitcoin client uses wallet.dat. Just a thought. Ubuntu 64 Bit

Bitcoin-Qt wallet files are not compatible with Armory.  So, I actually do not want users to be able to select Bitcoin-Qt wallet files.   When the new wallet files are complete, I'll bring back the "Bitcoin-Qt Wallet Migration" feature, and then there will be a separate dialog for that.  Until then, it would be a bug if it did let you select a .dat file :)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: flatfly on December 28, 2012, 11:54:53 PM
Do we also get rewarded if we provide fixes for those bugs?  
That might encourage me to spend some time playing around with some of them...  ;D


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 29, 2012, 12:05:00 AM
4. After selecting Tools > Message Signing, window appears where "Keys" tab is selected. Absolute hmmm-moment for new user.
Another option on tools menu, EC Calculator, shows same window but "Eliptic Curve" tab is selected instead. Point here is to just
use same names for menu items and tabs, else, unless user is Bitcoin expert, it's not straightforward obvious what is shown.

See (5) in original post:  I said that anything to do with message signing or EC calc is already known -- they are not exactly broken, but they are buggy.  That whole thing will be revamped in the near future (when I sync my signing algorithm with Bitcoin-Qt).


5. After creating new wallet in offline mode, I double-clicked on it and than selected "Import/Sweep Private Keys". Once window
was shown, one of options was greyed-out. Not sure if it should be that way.

<img>

Yes and no.  The option should be grayed out, but it should also say "Only available when online".  It does say that if Armory is currently scanning the blockchain, but I guess I missed the trigger when you're in offline mode.  I'll give you that one :)

The reason it's grayed out is because "Sweeping" requires being connected to the network in order to broadcast the sweep transaction (moving all the coins from one address to another).  This can't be done in offline offline.  OTOH, importing is simply saving the key to your wallet file, which does not require an internet connection.

6. On window shown in previous post, once user selects "Multiple Keys", no warning message will be shown after clicking on OK
unless there are at least 2 lines of data entered. On all other windows I spotted by now, clicking on OK or Accept without some
data being entered results in some warning message.

I must give you this one, too.  Even though there's no real user impact, there is an error thrown under-the-hood, and it deserves being fixed. 

7. After selecting menu Help > Revert All Settings > Yes, Armory will reset the state of License Agreement as well as other
settings. Is that intentional or not?

That's intentional.  It is essentially a "factory reset".



@ subSTRATA:  I do appreciate all these little bugs.  This is actually exactly what I was looking for, for 0.1 BTC each.  But please collect them internally and post them in batches of 5 or something.  I'm starting to feel spammed by the constant notifications.  Also, please PM me a receiving address so I can send you the bounties (I won't send it yet, but I need to add it to my spreadsheet).



Do we also get rewarded if we provide fixes for those bugs?   ;D
That might encourage me to spend some time playing around with some of them...

This is a little fuzzier... I want to encourage people to get involved, but I also don't want to pay people for helping fix bugs that I can take care of on my own in less than 5 minutes.  If you plan to try to fix a bug and want a bounty for it, please PM or email me first.  If it looks like it will save me time, I will happily pay a bounty for it.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: OpenYourEyes on December 29, 2012, 12:27:35 AM
I'm normally good at spotting bugs, but I've yet to find any in this version. I'll check out the testing version later to see if I can discover anything.

Also, not a bug per-se so not expecting a bounty payment, but you have two spelling mistakes on the get-armory web page (http://bitcoinarmory.com/index.php/get-armory)

incorrect: arithmatic - correct: arithmetic
incorrect: resistent - correct: resistant

There's a few grammar mistakes also, but I suppose they are open to interpretation.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 29, 2012, 03:42:46 PM
Just to point out about older Armory version still being linked in starting post. You should update link with one posted here (https://bitcointalk.org/index.php?topic=133055.msg1423560#msg1423560) so
that eventual bug hunters who don't check whole thread first don't unneccessarily download and work on outdated version.

I need both versions tested.  The stable version is perhaps more important for finding bugs, since a significant bug there will require a re-release.  The testing version is expected to have some bugs, and is updated more easily.  I added a link in that first post at the bottom (yesterday) that the "testing" version is now fair-game.  Bugs reported in either one are valid, but not repeatable (if the same bug is in both, I will only give the bounty for the first report).



@OpenYourEyes -- I'll toss you 0.1 for that.  Those are both errors that have been there for a while, and on a high-traffic page.  For grammer, send it to me via PM if you think it's warranted.  But I'm not going to really focus on the webpage too much, since it's constantly under construction.



@subSTRATA:  Okay, so now onto your plethora of reports.  This is where it gets fuzzy, because I can't give out 36 bounties for closely-related bugs.  And also, some of these are very minor or due to a misunderstanding about the software.  I have to use my judgment here, and say that anything that is exceptionally minor, but still warrants changing something in the code is worth half the bounty.  Also, things that are more of a "clarification needed" than a bug will get half a bounty.

(Each star* is a half-bounty)
(8*)  It sounds like you have never run bitcoin-qt on this particular computer?  Or it's in a non-standard location?  Armory most definitely detects when Bitcoin-Qt is started later, but if it's never been started, ever, it can't re-check for blkfiles.  Thus it only hits this condition when Bitcoin-Qt has never been started before.  Please tell me if this does not match your experience.  *But I have to give this to you, because it does warrant adding "...you may have to restart Armory" to catch this condition.
(9)  This is not an Armory bug as much as a PyQt bug.  And it's not something I can fix.
(10*)  That's actually a very intelligent dialog, which gives you only the options available for your current state (the button text and enabled/unabled changes depending on what wallets you have and your online/offline state).  Since you are offline, there is no way to create new transactions (hence disabled top button).  Additionally, if you were online, the bottom button would say "Sign or Broadcast Transaction".  If you actually have an offline/cold wallet, this makes more sense.  I will modify the text slightly.
(11**)  This is pretty much as-planned, except for the ability to save an empty transaction.  I'll modify it.  (either transaction type can be saved here, depending on whether what is in the box is signed or unsigned).
(12*)  Meh.  It's an OS-specific behavior that is sub-optimal.  But I'm not quite sure how to fix it, nor do I know how to fix it.  I'll give a 0.1 bounty for someone who does figure out how to fix it (it's Windows-only).
(13)  That was an explicit decision due to space constraints.  In expert usermode there is just no space to add those buttons, and the user can still escape with the X or by hitting ESC.
(14***)   I'll count this as 4 half bugs:  The red box should be reset after the error goes away.  The Send-Bitcoins window should not even be accessible in offline mode (it is disabled in when scanning, but apparently not when simply offline).  The -0.00000001 spendable balance obviously is in error.  The "Create Unsigned Tx" button should be disabled in offline mode.
(15)  This was intentional as the truncated version is all that is needed given the space constraints.
(16*)  I suppose the address list could use a refresh here...
(17)  "Empty" and "Unused" can only be evaluated when you are online.  Armory doesn't know whether the addresses are empty or unused.
(18*)  A clarification window may be warranted, but the overall behavior is as-intended.
(19)  Does Notepad++ show links?  It definitely creates links for me when I copy it into a word processor or email.
(20**)  Okay, that's a real bug!  I'll look into that
(21**)  More-intelligent warning is warranted.
(22)  Not all wallets have passwords.  Wallet file could be deleted from the user's app directory without the password.  I chose to use 31 consecutive warning dialogs instead.  That's by design (especially if someone is deleting the wallet because they forgot their password)
(23)  Wallet name standardization is a good idea, but Armory was designed not to care.  And the user rarely ever sees the filename or cares... as long as the word "watch" is in there.  In my own testing, I don't see any behavior warranting code modification.

I count an extra 14 half-bounties here, for 0.7 BTC in addition to your 0.4 yesterday.  If you dispute anything in particular please do so over PM or email and I'll update this post.  I don't want to spam this list anymore.  This is a lot of tiny things, but all of them together do add up to non-negligible polishing improvement.

This concludes 1.6 BTC worth of bounties.  I've got 1.4 more, and I hope we'll find some higher-level bugs, too (although 20 was a good bug that might distract me for a bit...)



Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 29, 2012, 03:56:40 PM
(8) Of course I have Bitcoin-Qt on computer, you could see that in log file attached to my first post. Client is installed in default
location, but data directory is on D: partition and I haven't yet come to part where I need to instruct Armory where to look for Bitcoin
datadir. Points with report is that Armory does detect if Bitcoin-Qt is running or not but only if Bitcoin-Qt is started before Armory, even
when it can't find data in default directory.

I think your first screenshot is pretty clear about how to point Armory towards your blockfiles: run Armory with the " --satoshi-datadir=" option.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 29, 2012, 07:46:06 PM
(11) "(either transaction type can be saved here, depending on whether what is in the box is signed or unsigned)." Hmm, with file extension
filter showing and allowing both signed.tx and unsigned.tx at all times, does it really matter what is in the box? I mean, will I be prevented
from saving signed transaction in file test.unsigned.tx? If not, will Armory inform me I'm about to overwrite unsigned transaction with signed one?
(13) Even in Expert mode, there is enough room for "Cancel" button next to "Send" one - at least on my side.
(15) There quite a lot of space on right from truncated address (https://i.imgur.com/IuUyk.png) - at least on my side.
(19) Notepad++ shows links, highlights syntax and so much more (http://notepad-plus-plus.org/features.html).

As said in PM, I do not expect everything I posted to be accepted as bug. It is just so much easier for me to report anything and everything
I find not working, unusual and unexpected, and throw-in some suggestions - or even complaints - in the mix. If you think something does not
pass the "Is it a bug or not?" test, it is fine with me, really. But OK, from now on, I'll avoid posting non-critical stuff.

Don't read my response as a "don't do it" instruction.  I actually appreciate the level of detail.  But if I'm going to reject or reduce a bounty, I feel it deserves justification (i.e.- responding to each one).   As long as you keep batching them up like that, I'm fine with the tiny things, as long as you're fine that I'm not rewarding every one.

(11) The user may want to see what other transactions they have in the folder, signed or unsigned, while deciding on a filename.  Although, the filename is auto-filled if there is useful data in the box, so there's not really a problem with overwriting.
(13,15) There's room at the default window size.  But these windows also need fit nicely when size-reduced on, say, netbooks.  I've gotten a lot of complaints about compactness, so I pick and choose what I think is important.  I was just pointing out that (13) and (15) were explicit decisions to save space.  That's all.
(19) Admittedly, I couldn't get the "Click to copy to clipboard" button to work right.  I have lots of examples copying plain text to clipboard, but not HTML.  Perhaps this would behave a little more consistently if I do that.

A new 0.3 BTC bounty: figure out how to get native HTML objects into the clipboard in PyQt.  You don't need to add the button to the application, I just need a code snippet that doesn't result in plain text on the clipboard. I'm pretty sure QMimeData has something to do with it.   This could be a super-easy 0.3 BTC!  (I've tried before and failed, and don't feel like figuring it out right now...)



Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 29, 2012, 10:03:46 PM

A new 0.3 BTC bounty: figure out how to get native HTML objects into the clipboard in PyQt.  You don't need to add the button to the application, I just need a code snippet that doesn't result in plain text on the clipboard. I'm pretty sure QMimeData has something to do with it.   This could be a super-easy 0.3 BTC!  (I've tried before and failed, and don't feel like figuring it out right now...)


Hi, I haven't had a chance to try it out yet, but the 2nd answer to the below SO question should do the trick:

http://stackoverflow.com/questions/10055421/with-qclipboard-how-can-i-copy-rich-text-and-have-it-downgrade-to-plain-text-fo

Well then, do it for me!  Get your easy bounty!  :)

I bet it's easy.  But I tried before but did something wrong and couldn't make it work.  It's one of those things that has plagued me for a while, and really just needs a fresh set of eyes to do it.  I don't need the button implemented, I just need the chunk of code I would plug into the method "clickCopyRichText()", which will go right next to clickCopyHtml() (https://github.com/etotheipi/BitcoinArmory/blob/master/qtdialogs.py#L10383). 

Put it in, test it, test it with a variety of apps that support rich text, and then send/post the code and I'll give the bounty. 

I am enjoying the idea of buying my way out of annoying code problems :)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: OpenYourEyes on December 29, 2012, 10:03:54 PM
Quote from: etotheipi
@OpenYourEyes -- I'll toss you 0.1 for that.  Those are both errors that have been there for a while, and on a high-traffic page.
That's nice of you, thanks.

@subSTRATA, it's great your finding all these bugs, but would you consider using the clickable thumbnails that imgur offers? Sorry, it's just hard to follow the thread with full size images scattered around, especially when browsing on my phone. :)

Edit:
Not bugs, just minor blemishes:

*When sending a payment, if the "Amount" field is left empty, an error message appears with an empty set of parenthesis at the end:
---"The amount you specified to send to address 1 is invalid ()"

*Within the 'send' dialog, two out of the three buttons on the left hand side use camel casing, the middle one "Manually enter bitcoin: link" does not.

*There is no 'green check mark' (bottom right) when Armory is fully synchronised, even though it states there will be within the dashboard:
---"You will see a green checkmark in the bottom right corner of the Bitcoin-Qt window if it is synchronized."


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: flatfly on December 30, 2012, 10:04:27 AM
Also: If you click "Create Watching-Only Copy" for a wallet, then cancel the save dialog,
Armory still creates a wallet file anyway (called ".wallet")


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: flatfly on December 30, 2012, 10:05:24 AM

*There is no 'green check mark' (bottom right) when Armory is fully synchronised, even though it states there will be within the dashboard:
---"You will see a green checkmark in the bottom right corner of the Bitcoin-Qt window if it is synchronized."

Bitcoin-Qt <> Armory  :)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: OpenYourEyes on December 30, 2012, 05:20:01 PM

*There is no 'green check mark' (bottom right) when Armory is fully synchronised, even though it states there will be within the dashboard:
---"You will see a green checkmark in the bottom right corner of the Bitcoin-Qt window if it is synchronized."

Bitcoin-Qt <> Armory  :)
Oh duh lol. I've been playing around with Freicoin-Qt a lot so I'm used to seeing the pretty green tick :D


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 31, 2012, 01:45:03 AM
24. Menu "Help" > "Armory Version..." > click on "No more reminders until next version" button > menu "Help" > "Armory Version..." > nothing!

~~~~~

25. While in offline mode, menu "Addresses" > "View Address Book" > message says address book will become available when Armory is online,
but user can actualy open it by double-clicking wallet > "Send Bitcoins" > click on address book icon.

~~~~~

26. On menu "Addresses", items "Import" and "Sweep" show the same message regardless of if some wallet is selected or not, and regardless
of there is just one wallet or more. In all cases, user is instructed to double-click on desired wallet > "Import/Sweep Private Keys". It
really makes me wonder why exactly those two menu items are there at all, and why there are two items pointing to same target. If it's not
a bug, selecting one of wallets - or autoselecting wallet if there is just one on list - than chosing any of items should result in exactly
the same as if user double-clicked on wallet > "Import/Sweep Private Keys"

~~~~~

27. On main window wallet list, clicking on some column header (ID, Name, Security, Balance) does not sort wallets based on column data.

~~~~~

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".

~~~~~

29. Is it normal that Armory scan complete blockchain on every run? Once scan is over and wallet balance is shown, exiting Armory and running
it again reveals (...) for wallet balance and complete blockchain scan starts all over again. Tested 3 times. Is it because my Bitcoin datadir is
not on default location?

  • (24**) Good catch
  • (25)  That's part of the other bug you reported where you're not supposed to be able to open that window in offline mode to begin with (the Send-BTC window).  The same problem exists on the message signing dialog which is also off-limits :)
  • (26)  That's intentional, because sooooo many people have complained that they couldn't figure out how to import/sweep, not realizing the operation is wallet-specific.  I've gotten emails saying "YOU ADVERTISE EASY IMPORTING OF KEYS BUT I CANT FIND THE OPTION ANYWHERE!!!".  I decided to add those menu options to give them some direction.  I was considering popping up a wallet-select dialog instead, but I never got around to it, yet.
  • (27)  Similarly, that's an unimplemented feature, not a bug.  It's surprisingly not-trivial to to enable sorting on tables. 
  • (28**) Another good catch.
  • (29) That's a "feature."  The primary benefit is that Armory stores almost no data between loads, making it very robust against perma-corruption bugs -- where something corrupts the between-load database and the user can no longer open the program or has permanently incorrect information.  With this, just about anything that can go wrong is fixed by restarting.  This made more sense when the blockchain was 500 MB (when I started), but will be changed soon (thanks, SatoshiDice!).  Now that the app is stable and it's easier to implement it without such bugs.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on December 31, 2012, 03:49:13 PM
30. After importing keys, Armory offers to either go offline and scan blockchain for transactions or stay online. If user
selects the former option, wallet will stay opened and thus prevent user from seeing that Armory actualy went offline and
is scanning blockchain. With silent storage devices, like USB and SSD, user might find himself confused.

~~~~~

31. Open wallet > "Make Paper Backup" > enter wallet password > "Unlock" > "Cancel" > "Make Paper Backup" > if you repeat
two steps before this one quickly, no password check will popup for around 5 seconds. In other words, once paper backup
window is shown, there is around 5 seconds delay until password check kicks in.

~~~~~

32. With no wallets created, if user clicks on "Create New Wallet" button or selects "Create New Wallet" from "Wallets" menu,
window will be shown with empty "Wallet name:" field. However, if user clicks on either "Wallet Properties" or "Receive
Bitcoins" or "Send Bitcoins" button and than agrees to create wallet, mentioned field will be populated with text "Primary
Wallet".

~~~~~

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

~~~~~

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

~~~~~

35. Having two wallets with the same imported keys leads to numerous problems, including the last created wallet becoming
undeletable, deleting one of wallets deletes the other one and "Transactions" tab listing going crazy after just one of
wallets is deleted, like shown bellow - sorting of remaining transactions goes nuts as well, can't show it on screenshot:

https://i.imgur.com/X1VDbs.png (https://i.imgur.com/X1VDb.png)

(30) That was a design decision.  Scanning should start as soon as possible.  And the user may not be done with their business with that wallet.
(31) Another design decision:  passphrase is saved in RAM for 10 seconds.  This allows subsequent functions (which may take a couple seconds) to still use the passphrase, but removes it from within 10 seconds to minimize exposure.
(32**)  I'll fix that window title.  That window used to have an "Import button" on it, and it was removed without changing the title.
(33*)  Meh. 
(34**)  Good catch.  Need to disable that button.
(35**) There's a fairly explicit warning against doing this.  Unless you know how to accidentally import such a key without hitting this warning, it is already marked as "user beware".  I'm giving the bounty, though, because it's been a while since I've checked this behavior, and you are pointing out that this is considerably worse than the warning suggests.  I will upgrade the text to warn of the impending doom.  (actually sounds like I should just flat out prevent it).



Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 02, 2013, 12:53:44 PM
Ermm, you still owe me 0.55 BTC, if I calculated bugs accepted since 1.1 BTC payment correctly.

Ah yes.  Sorry I got distracted working on new wallets, and I forgot about fixing bugs in the master branch. 

I just sent it.  Thanks for your help.  More testing versions coming soon. :)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 04, 2013, 04:13:50 AM
COPIED FROM ARMORY DISCUSSION THREAD

All bugs previously reported (and acknowledged) have been fixed, thus the bounties are reset (if something still doesn't work that I starred before, you'll get a bounty).



Updated Windows installers for testing version 0.86.6.  

https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.6-testing/armory_0.86.6-testing_win64.msi
https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.6-testing/armory_0.86.6-testing_windows_all.msi

Linux users can just checkout the "testing" branch.  Please test payment-request/clickable-link copy&paste in Windows.  The link copying works in Linux, but it didn't appear to work in my Windows VM, and I'm not sure if that's a VM-ism or real.   The original reason it didn't work was because I used:

Code:
                                                                    <a href="link">Text</a>

And it turned out I needed this <meta> tag in Ubuntu:

Code:
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <a href="link">Text</a>

If this doesn't work in Windows, can anyone recommend how I might get it to work in Windows?


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 04, 2013, 03:00:04 PM
https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.6-testing/armory_0.86.6-testing_win64.msi (https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.6-testing/armory_0.86.6-testing_win64.msi)
https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.6-testing/armory_0.86.6-testing_windows_all.msi (https://s3.amazonaws.com/BitcoinArmoryReleases/0.86.6-testing/armory_0.86.6-testing_windows_all.msi)

Firefox 17.0.1 reports the following error after clicking on links:

Code:
This XML file does not appear to have any style information associated with it. The document tree is shown below.

-<Error>
   <Code>AccessDenied</Code>
   <Message>Access Denied</Message>
   <RequestId>ECA56893B5B191B9</RequestId>
  -<HostId>
     Lgasj37siQAp6c42xrTAIN5WwThW9FTeAuvi2zZwkyi8vHcP3WoCkvFKdWRfrKkg
   </HostId>
</Error>

Well, I guess I'm not done with the links, yet.  I'll have to spend some time on my VM to fix them.

But everything else should be fixed.  At least, everything that I starred previously.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 04, 2013, 04:00:44 PM
Could you upload 0.86.6-testing to official Armory page somewhere?

None of the binaries are on the "official Armory page".  All the links to current versions are links to the s3.amazonaws.com storage.  I've been lazy about GPG-signing the testing versions because it's already a lot of work to make them, and the Armory signing keys are offline.  If it's a high-demand feature, I can make it happen (though, it's not very convenient for Windows users...)


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each!
Post by: etotheipi on January 06, 2013, 07:56:31 PM
Okay!  Since I'm hoping to make this an official release, I've upped the bounties to 0.2 BTC.  Yes, that's almost $3 per bug!  

However for this round, smaller bugs like most of what subSTRATA was posting will not be considered for the 0.2 BTC.  I already fixed 21 bugs/suboptimal features based on subSTRATA's diligent testing, but for this release I'm really looking for the big things that actually prevent users from using the features of the software.  Usually this is stuff like transactions not sending because I broke some networking code, or dialogs that are don't show up, or display garbage.  And of course, crashing.   The minor bugs and polishing will still be rewarded, but only 0.05 BTC.

This version has full QR-code integration and copying payment request links in Windows finally seems to work.  I have also uploaded the new releases to code.google.com because it has all the features I need in a project-hosting site:  scriptable uploads, download counting, folders, etc.

http://bitcoinarmory.googlecode.com/files/armory_0.86.7-testing_win64.msi
http://bitcoinarmory.googlecode.com/files/armory_0.86.7-testing_windows_all.msi

And since this is a new download location, I have signed the SHA1 hashes using the offline signing key, in case anyone wants to verify them.  The nice thing is that google-code shows you the hash there (though it's still preferred you hash the downloaded file, to be sure).

http://bitcoinarmory.googlecode.com/files/armory_0.86.7-testing_sha1.txt.asc

And just in case you find GPG/PGP annoying, here's a signed message, ironically using Armory's message-signing interface that I said was offlimits for bug reports (it works, but it's messy and hasn't been maintained for a while.  Simply go to "Tools-->Message Signing" and then click on "Import Signature Block" and copy the following text into it:

Code:
-----BEGIN-SIGNATURE-BLOCK-------------------------------------
Address:    1ArmoryXcfq7TnCSuZa9fQjRYwJ4bkRKfv
Message:    "2013-Jan-06 02:51pm -- Downloadable Armory insta"
            "llers will now be hosted at http://bitcoinarmory"
            ".googlecode.com.  The first release at this new "
            "location is version 0.86.7-testing, and has the "
            "following SHA1 hashes --  64-bit version: 3f6a4a"
            "c9cdb98c421c883e15cf0acd52b7c25d31 and 32-bit ve"
            "rsion:  f3f3ee3de0d0434f1fd41664f456e755efaed1e2"
PublicKey:  0411d14f8498d11c33d08b0cd7b312fb2e6fc9aebd479f8e9a
            b62b5333b2c395c5f7437cab5633b5894c4a5c2132716bc36b
            7571cbe492a7222442b75df75b9a84
Signature:  77a6f9a9e28b92b730216c5c6e62b89f6336d36e4bb1a0cbc3
            42d5f3a6d5d9ea4032cafe8b3d7e9be249aac4b79bf663f96f
            5ac4662d4f18ee4e76514ce8087c
-----END-SIGNATURE-BLOCK---------------------------------------


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: casascius on January 06, 2013, 08:11:31 PM
I wish Armory were split up between a knowledge center I could run on a server (with the Bitcoin-Qt dependency were limited to here), and a desktop client based on trusting the knowledge center.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 06, 2013, 08:21:07 PM
I wish Armory were split up between a knowledge center I could run on a server (with the Bitcoin-Qt dependency were limited to here), and a desktop client based on trusting the knowledge center.

I've been thinking about doing this for quite some time.  It's basically the Electrum model, but without the hardcoded list of pre-trusted nodes (which may be added in the future, but I hadn't planned on maintaining any such servers/networks yet).   

The main hurdle is getting Armory to operate with less than full blockchain information.  Honestly, I don't think it will be terribly difficult to do, but it would require touching just about every section of code.  I guess the other hurdle is deciding what is "enough" information, and if I should consider secondary sources, etc (like downloading headers from other peers so I have some way to verify information coming from your "trusted" node).

However, what is in store already, which may fit your particular desire, is to have Armory connect to any trusted full node.  It would duplicate the blockchain data, but it wouldn't require having Bitcoin-Qt running on the same system, and could even use some other kind of full node, as long as it's a trustworthy one.  And the act of maintaining its own blockchain data also means it will be using proper HDD-based storage and use dramatically less RAM.   I'm working on multi-sig and split-wallet/shared-wallet/joint-account/whatever-you-call-it wallets upgrades right now.  I may not actually get multi-sig implemented yet, but I want the new wallet files for a variety of other reasons.  After that, I'll be doing the RAM reduction which will give you the any-trusted-node capability.

I will continue pondering how much work it will be to have Armory run in a client-server mode (it would actually be  client-server-bitcoind... since Armory-lite would connect to Armory-full which would still be running behind bitcoind)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: justusranvier on January 06, 2013, 08:52:40 PM
I wish Bitcoind was a universal backend that all the clients (including Bitcoin-Qt) could use to acquire blockchain data and transmit transactions to the network.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 06, 2013, 08:57:01 PM
I wish Bitcoind was a universal backend that all the clients (including Bitcoin-Qt) could use to acquire blockchain data and transmit transactions to the network.

That's basically how I'm using it, and something that the core Bitcoin-Qt devs have brought up in the past as a possibility.  I think they're very concerned about the network risks of independent implementations forking the network, and realize that providing a detached blockchain manager/backend (kind of like the necessity to have .NET on Windows machines for some apps) would aid app developers in creating new functionality without forking the network.  Until then, I still have to answer the dozen emails a month asking when I'm going to get rid of bitcoind/bitcoin-qt dependence... for the sake of security, I can't.  Though, as I mentioned to casascius... I can have lite-clients that connect to full Armory nodes that are using bitcoind/Bitcoin-Qt, thus making it unnecessary for the endpoint to have it running in the background...



Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 06, 2013, 11:35:16 PM
~~~~~

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 :)  (probably 0.5)


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 07, 2013, 01:50:44 AM
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.



Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on January 07, 2013, 08:48:46 PM
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.


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each
Post by: etotheipi on January 08, 2013, 03:11:35 PM
~~~~~

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!)


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: jl2012 on January 08, 2013, 06:15:18 PM
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 (http://bitcoinarmory.com/index.php/get-armory), 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 (http://bitcoinarmory.com/index.php/get-armory).  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 (https://github.com/etotheipi/BitcoinArmory/tree/testing) 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 :)   (for 0.86.5-testing, I compiled and posted Windows-testing versions above (https://bitcointalk.org/index.php?topic=133055.msg1423560#msg1423560)).



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 (https://bitcointalk.org/index.php?topic=56424.msg1417623#msg1417623)).
(3) Missing string replacement on dashboard when user is missing blk*.dat files.


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on January 09, 2013, 03:37:44 AM
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)



Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: jl2012 on January 09, 2013, 04:54:10 AM
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.


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on January 09, 2013, 05:39:24 AM
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.


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on January 10, 2013, 10:10:48 PM
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 :)  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 :)


The links for the new version are on the Discussion thread (https://bitcointalk.org/index.php?topic=56424.msg1446820#msg1446820).

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).


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on January 11, 2013, 01:06:11 AM
The links for the new version are on the Discussion thread (https://bitcointalk.org/index.php?topic=56424.msg1446820#msg1446820).

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? 



Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: Daily Anarchist on January 19, 2013, 08:05:50 AM
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.


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: jl2012 on January 19, 2013, 01:29:45 PM
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


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: FiloSottile on January 22, 2013, 06:39:14 PM
Mac OS X Mountain Lion - brew installed with --devel (so testing GH branch)

http://monosnap.com/image/nOjBKYOxqsK9se30dwwJGrVqH
http://monosnap.com/image/qXiEyXHg7ZxmfeO21Kni9LCjK


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: Red Emerald on January 23, 2013, 06:24:29 AM
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.


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: acf6996 on March 31, 2013, 09:56:48 PM
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!


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on April 01, 2013, 01:44:20 AM
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...



Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: HeroC on May 10, 2013, 08:30:42 PM
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:

https://dl.dropboxusercontent.com/s/3ne8osfc5bjx60s/Armory%20Crash.PNG

or this:
https://dl.dropboxusercontent.com/s/k1dtlcwokk9eb9i/Armory%20C%2B%2B%20Error.PNG


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: etotheipi on May 10, 2013, 08:35:28 PM
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 (https://bitcoinarmory.com/get-armory/).  A lot of these crashing issues were actually due to the 32-bit build (and resource usage).  All that is being fixed soon.


Title: Re: [BOUNTY] Armory Bugs: 0.2 BTC each
Post by: HeroC on May 10, 2013, 08:40:37 PM
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 (https://bitcoinarmory.com/get-armory/).  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'!


Title: Re: [BOUNTY] Armory Bugs: 0.1 BTC each (Disabled: Coming back soon!)
Post by: etotheipi on May 10, 2013, 08:43:16 PM
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 :-\