Author

Topic: Unable to send. Issue with addresses with many small deposits. Logs included (Read 1950 times)

full member
Activity: 123
Merit: 100

Yep, as of this morning my issue is fixed Smiley

Thanks guys Wink

Thanks for the kudos, however in this case it may not be warranted.

I actually think your issue might have been fixed before I got to it.

In case anyone else runs into this bug, there is a simple remedy that I think you did incidentally.

If you have a bunch of small inputs from one address, say from a large mining pool, simply send a small transaction to yourself. The correct fee will be calculated without running out funds. Once that transaction goes through, many of your inputs will have been replaced with two addresses each with one input. One is the address you sent the transaction to, and the other is the change address.
legendary
Activity: 2126
Merit: 1001
Ok, got most of it out, but the only address left with a balance (the original problem address) now has 0.21 BTC that I can't move at all Smiley    I tried some pretty small amounts but it started complaining about fees so I gave up.  I'd like to get it out though, seems like a fairly decent issue.

Coin control gives you control over addresses but not UTXOs. An address can have several UTXOs and in that sense coin control doesn't give you the necessary control to spend that one. Make a ticket (https://bitcoinarmory.com/support), link to this thread and one of us will craft you a custom unsigned transaction to spend the left overs minus the dust.

Armory team?
Hands down the best customer support in bitcoin world!
:-)

Ente
legendary
Activity: 3766
Merit: 1364
Armory Developer
Reassigned you to CircusPeanut, he should fix that for you.
legendary
Activity: 3766
Merit: 1364
Armory Developer
Ok, got most of it out, but the only address left with a balance (the original problem address) now has 0.21 BTC that I can't move at all Smiley    I tried some pretty small amounts but it started complaining about fees so I gave up.  I'd like to get it out though, seems like a fairly decent issue.

Coin control gives you control over addresses but not UTXOs. An address can have several UTXOs and in that sense coin control doesn't give you the necessary control to spend that one. Make a ticket (https://bitcoinarmory.com/support), link to this thread and one of us will craft you a custom unsigned transaction to spend the left overs minus the dust.
legendary
Activity: 2912
Merit: 1060
Ok, so I should try sending lots of small transactions to one address?   That seems counter-intuitive as it's kind of the cause of the problem in the first place, but I'll take your word for it Wink

I think you maybe misunderstood? Instead of trying to clean up the dust by sending yourself a single transaction with 1000 dust inputs, try sending yourself 10 separate transactions each having 100 dust inputs.

Gotcha.  So I need to use the coin control function for this right?   I admit I haven't played with that at all as yet so I'll have to have a fiddle Wink

Absolutely
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
Ok, so I should try sending lots of small transactions to one address?   That seems counter-intuitive as it's kind of the cause of the problem in the first place, but I'll take your word for it Wink

I think you maybe misunderstood? Instead of trying to clean up the dust by sending yourself a single transaction with 1000 dust inputs, try sending yourself 10 separate transactions each having 100 dust inputs.
legendary
Activity: 2912
Merit: 1060
I've had transaction errors that needed a restart.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
That error suggests a malformed transaction.  I'm not sure how that would happen since Armory is creating the Tx for you and thus it shouldn't be malformed.  Perhaps the DB is corrupt and it's blindly dumping a corrupt previous-tx into the one you're trying to sign?   Strange.

But it is true that if you have a lot of dust, you should try sending yourself many small transactions to try to clean it up.  If you have 0.1 BTC with 1,000 inputs, try sending yourself 0.01 at a time.  Your balance will remain the same, but then once it all confirms you'll be able to send all of it at once (then it only combines 10 inputs instead of 1,000)
legendary
Activity: 2126
Merit: 1001
Yes, dust is an issue, the network doesn't like it when transactions get very large.

You need to compress those inputs into fewer inputs. Option one is to use Armory with its "coin control" feature (maybe in expert mode only) to pick individual addresses, and send all inputs from that address to one new output. If you have addresses which have too many inputs (that's how I read your OP), make small amount transactions to new outputs.
I believe the fees rise non-linear, so one big tx may be more expensive than chopping it into several smaller tx. Not 100% sure about this, though.

Well, sorry, this sounds like a tedious task..

Alternatively, just grab the bulk of it, send it to a new address, and let the dust sit there. If some day it is worth a lot and/or the fees went down drastically by competition, you can give it another shot. If the fees rise more, because of constant blocksize-limit limitations, well, bummer!

Ente
hero member
Activity: 798
Merit: 1000
Running on OSX (10.9.5) with Armory 0.92.3.

I hit Send Bitcoins, enter the address and amount, and hit continue, but nothing happens.  The log shows the following each time I press continue:

Code:
2014-10-04 19:19 (ERROR) -- Traceback (most recent call last):
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/ui/TxFrames.py", line 757, in createTxAndBroadcast
    ustx = self.validateInputsGetUSTX()
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/ui/TxFrames.py", line 738, in validateInputsGetUSTX
    utxoSelect, scriptValPairs, pubKeyMap)
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/armoryengine/Transaction.py", line 2168, in createFromTxOutSelection
    return self.createFromPyTx(thePyTx, pubKeyMap, txMap, p2shMap)
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/armoryengine/Transaction.py", line 2081, in createFromPyTx
    pyPrevTx = PyTx().unserialize(cppPrevTx.serialize())
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/armoryengine/Transaction.py", line 693, in unserialize
    self.version    = txData.get(UINT32)
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/armoryengine/BinaryUnpacker.py", line 66, in get
    sizeCheck(4)
  File "/Applications/Armory.app/Contents/MacOS/py/usr/lib/armory/armoryengine/BinaryUnpacker.py", line 61, in sizeCheck
    raise UnpackerError
UnpackerError


Also when this happens it's often not possible to close the dialog window.

EDIT:  Looks to be related to lots of "dust" or something along those lines.  I was able to send smaller amounts (with the standard fee), but I'm left with 4.x BTC in there that must have lots of little txn's included as it wants a larger fee.  Anytime I try and send a transaction with these larger fees I get the above error.  One address, for example, has had 69 transactions sent to it, all very small.
Jump to: