Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: mpfrank on July 21, 2011, 02:59:57 PM



Title: Send didn't get picked up by network...
Post by: mpfrank on July 21, 2011, 02:59:57 PM
Hi, earlier this morning I sent some BTC to Mt. Gox, and then exited my client right after (to backup my wallet).  Then I resumed the client.

Almost an hour later, I noticed that my transaction still hadn't shown up in block explorer, and my client still showed no confirmations for it.

It occurred to me that maybe the transaction didn't get picked up by any peers (even though I had 8 connections at the time) before I closed my client, and then when I restarted the client, maybe it didn't resume sending the transaction to peers because it thought it was already sent.

So, I restored an earlier wallet backup (from when I still had the spent coins) and resubmitted the send request.

But now, a short time later, my client is showing 3 confirmations of (what I assume is) my earlier send, but none of my later one yet.  

I did not have enough BTC left in my account to actually do the send twice, so hopefully the 2nd one will get rejected by all nodes, and won't end up in the block chain?

I still don't see either transaction showing up in block explorer (or in my Mt. Gox account yet).  It's now been over an hour since the first one was (supposedly) sent.

Also, my client now seems to show the wrong total; even though it now lists both of my sends, my balance is what it would be if I had only sent one of them.

Any thoughts?  Is my client automatically ignoring the 2nd send (which I didn't actually have the BTC to cover)?  But then why is it still listed?

Thanks...
-Mike

EDIT:  I just realized, blockexplorer is about 8 blocks behind right now, so that explains why my transaction hasn't shown up there...  blockexplorer shows the latest block is 137,343, but the latest one in my client is 137,351!


Title: Re: Send didn't get picked up by network...
Post by: rikur on July 21, 2011, 03:33:02 PM
at least on OSX the wallet can get stuck with the non-sent transaction. The only way I was able to fix it was using an earlier wallet.dat backup and doing a rescan of the blocks.


Title: Re: Send didn't get picked up by network...
Post by: JoelKatz on July 21, 2011, 06:46:54 PM
Currently, if you trick the client into accepting a transaction that cannot actually get into the block chain, it will be stuck in the wallet forever. If you have a wallet backup from before the transaction, that will solve the problem (start the client with -rescan). Otherwise, you have to db_dump/edit/db_load to manually remove the transaction.


Title: Re: Send didn't get picked up by network...
Post by: Stephen Gornick on July 21, 2011, 10:42:20 PM
So, I restored an earlier wallet backup (from when I still had the spent coins) and resubmitted the send request.

Just to clarify, .. you didn't resubmit the send request.  Instead you sent another transaction of the same amount as the earlier transaction.

So now that you have a double spend attempt in your wallet, you'll probably need to restore that earlier wallet yet again and it will then properly show the balance and the one transaction that did confirm.


Title: Re: Send didn't get picked up by network...
Post by: mpfrank on July 22, 2011, 12:15:41 AM
Great, guys, thanks for the tips!  I will restore an earlier wallet & rescan...

P.S. My send did get received by Mt. Gox eventually.


Title: Re: Send didn't get picked up by network...
Post by: gmaxwell on July 22, 2011, 02:33:06 PM
So, I restored an earlier wallet backup (from when I still had the spent coins) and resubmitted the send request.

Just to clarify, .. you didn't resubmit the send request.  Instead you sent another transaction of the same amount as the earlier transaction.

So now that you have a double spend attempt in your wallet, you'll probably need to restore that earlier wallet yet again and it will then properly show the balance and the one transaction that did confirm.

Er. Well: Maybe.

The input selection is nearly deterministic. (or rather, it is deterministic if all your available inputs are at least 6 deep in the chain)

If it selects the same inputs, has the same destination(s), and same value it will be the same transaction (same TXid), and thus no double was attempted.