Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: johanatan on July 01, 2011, 02:49:34 AM



Title: BUG: Transaction in limbo (apparently)
Post by: johanatan on July 01, 2011, 02:49:34 AM
I have been sending BTC with the latest client (.13) with fees of 0.00 successfully for a few days now; however, this morning (about 12 hours ago) I sent 0.501 BTC to this address (with a fee of 0.00 specified in the standard gui)
http://blockexplorer.com/address/1Q6eEfU6KGAA2WncmyWYjJCXq7HXGunsis

About 10-15 secs after sending the funds I closed the client.
Checked blockexplorer all day and the transaction never showed up.

As of now, the client reads '0/unconfirmed'.  What to do?


Title: Re: BUG: Transaction in limbo (apparently)
Post by: theymos on July 01, 2011, 03:37:00 AM
It just wasn't properly broadcast, probably. It's not queued (http://bitcoincharts.com/bitcoin/). How long have you kept Bitcoin continuously open since you sent it?


Title: Re: BUG: Transaction in limbo (apparently)
Post by: johanatan on July 01, 2011, 03:37:45 AM
It just wasn't properly broadcast, probably. It's not queued (http://bitcoincharts.com/bitcoin/). How long have you kept Bitcoin continuously open since you sent it?

1.5 hours.  How long do you have to leave the client open to 'properly broadcast' initially and then after closing and re-opening?

And, btw, my client has had 8 connections over those 1.5 hours and has downloaded 134049 blocks.


Title: Re: BUG: Transaction in limbo (apparently)
Post by: theymos on July 01, 2011, 03:45:44 AM
It should send immediately, but maybe all of your connections were dead or some other fluke happened. It rebroadcasts every ~30 minutes, but the timer resets every time you close Bitcoin.

Run Bitcoin with the -debug switch, double-click the transaction, and post the transaction dump.


Title: Re: BUG: Transaction in limbo (apparently)
Post by: johanatan on July 01, 2011, 04:26:18 AM
It should send immediately, but maybe all of your connections were dead or some other fluke happened. It rebroadcasts every ~30 minutes, but the timer resets every time you close Bitcoin.

Run Bitcoin with the -debug switch, double-click the transaction, and post the transaction dump.

http://dl.dropbox.com/u/52070/Screen%20shot%202011-06-30%20at%209.22.31%20PM.png


Title: Re: BUG: Transaction in limbo (apparently)
Post by: theymos on July 01, 2011, 04:58:30 AM
That transaction is confirmed:
http://blockexplorer.com/tx/719e2e73698cd2c955c17486e04e5b50234f4c9d59080e5c7c23065112ec36e5

Run Bitcoin with the -rescan switch and it should become unstuck.

Edit: Actually, since that's a recent block, the transaction probably just didn't broadcast correctly the first time. No need to rescan unless it's still stuck.


Title: Re: BUG: Transaction in limbo (apparently)
Post by: JoelKatz on July 01, 2011, 05:03:35 AM
It may take a lot longer to get a transaction with below-standard fees broadcast. Other nodes might refuse to relay it. Miners might discard it before they happen to find a block. If you aren't going to bribe others to do the work, you may need to do a lot more of it yourself.


Title: Re: BUG: Transaction in limbo (apparently)
Post by: johanatan on July 01, 2011, 05:12:38 AM
It may take a lot longer to get a transaction with below-standard fees broadcast. Other nodes might refuse to relay it. Miners might discard it before they happen to find a block. If you aren't going to bribe others to do the work, you may need to do a lot more of it yourself.

Hmm, but I've had my fee set at 0.00 for quite a while now and haven't run into this issue before.  Is there extra load on the system currently?  Is there a way to cancel this transaction and redo it with a fee?

And, I would totally be willing to mine a block containing this transaction but I'm afraid my measly few cards will never mine a block on their own.  Are you suggesting that I invest in a super-farm to process my own transactions?  It would be neat if I could process transactions on the pool that I'm already a member of (btcguild).

Miners already have plenty of incentive to mine without fees being offered too, IMO, with the block rewards and all...

EDIT:  Update:  The transaction now has 3 confirmations.


Title: Re: BUG: Transaction in limbo (apparently)
Post by: JoelKatz on July 01, 2011, 07:57:37 AM
Hmm, but I've had my fee set at 0.00 for quite a while now and haven't run into this issue before.  Is there extra load on the system currently?  Is there a way to cancel this transaction and redo it with a fee?
I wonder if a lower percentage of miners are willing to accept free transactions now. Or possibly the transaction load has been high, so even when someone taking free transactions mined a block, they had too many paid transactions. (By 'free', I mean those that have no transaction fee where one would normally be required, not including transactions using old coins that don't need a fee.)

Quote
Miners already have plenty of incentive to mine without fees being offered too, IMO, with the block rewards and all...
True, but they have very little incentive to include free transactions in their block. It can consume surprisingly large amounts of memory for the larger mining pools because they have to keep one copy of the transaction for each work unit they issue until a new block is found.

Quote
EDIT:  Update:  The transaction now has 3 confirmations.
Probably a combination of things happened. First, you might have got the transaction out to more of the network, getting around people who won't relay your transaction. Second, your coins may have aged a bit, increasing the priority of your transaction. Third, more blocks were mined, increasing the chance that a miner willing to include free transactions mined a block at a time when he couldn't fill it with paid or higher priority transactions.


Title: Re: BUG: Transaction in limbo (apparently)
Post by: johanatan on July 01, 2011, 06:47:03 PM
(By 'free', I mean those that have no transaction fee where one would normally be required, not including transactions using old coins that don't need a fee.)

So, when is a fee 'normally required' anyway?  And, how old must a coin be before it's considered old enough to not warrant one?

Also, when the number of confirmations changes from 0 to 1 does that mean that a peer picked up the transaction and relayed it?  Or that it actually found its way to a miner who accepted it and verified (i.e., confirmed) it?

Thanks!


Title: Re: BUG: Transaction in limbo (apparently)
Post by: JoelKatz on July 01, 2011, 06:55:23 PM
So, when is a fee 'normally required' anyway?  And, how old must a coin be before it's considered old enough to not warrant one?
The algorithm is a bit complicated. It's based on the size of the transaction (typically how many outputs and inputs it has) too. The default client has two thresholds, below one and it won't accept the transaction at all. Below the other and it will purge the transaction fairly quickly, but it will pass it on to other clients (who will likely do much the same). The basic rule is that a 'normally requires no fee' transaction must be under 10K (about 9 inputs/outputs total), have no output under 0.01 BTC,

Quote
Also, when the number of confirmations changes from 0 to 1 does that mean that a peer picked up the transaction and relayed it?  Or that it actually found its way to a miner who accepted it and verified (i.e., confirmed) it?
1 confirmation means that it has been included into a mined block that has found its way into your client's block chain.