Pages:
Author

Topic: [BOUNTY] Armory Bugs: 0.1 BTC each (Disabled: Coming back soon!) - page 2. (Read 7635 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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...

legendary
Activity: 1400
Merit: 1009
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.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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)
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
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.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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---------------------------------------
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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...)
legendary
Activity: 1428
Merit: 1093
Core Armory Developer

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.

-
   AccessDenied
   Access Denied
   ECA56893B5B191B9
  -
     Lgasj37siQAp6c42xrTAIN5WwThW9FTeAuvi2zZwkyi8vHcP3WoCkvFKdWRfrKkg
  


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.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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:
                                                                    Text

And it turned out I needed this tag in Ubuntu:

Code:

If this doesn't work in Windows, can anyone recommend how I might get it to work in Windows?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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. Smiley
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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:



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

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
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 Smiley
  • (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.
full member
Activity: 238
Merit: 100

*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  Smiley
Oh duh lol. I've been playing around with Freicoin-Qt a lot so I'm used to seeing the pretty green tick Cheesy
legendary
Activity: 1078
Merit: 1016
760930

*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  Smiley
legendary
Activity: 1078
Merit: 1016
760930
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")
full member
Activity: 238
Merit: 100
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. Smiley

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."
legendary
Activity: 1428
Merit: 1093
Core Armory Developer

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

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

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 Smiley
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
(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 - at least on my side.
(19) Notepad++ shows links, highlights syntax and so much more.

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

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
(Cool 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.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Just to point out about older Armory version still being linked in starting post. You should update link with one posted here 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...)

full member
Activity: 238
Merit: 100
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.
Pages:
Jump to: