Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: Dybbuk on July 30, 2010, 04:39:16 PM



Title: Bug: "Immature" coins lost in wallet.dat during transaction
Post by: Dybbuk on July 30, 2010, 04:39:16 PM
Howdy,

I am running R119 on a Linux box, and last night was fortunate enough to solve a block and get 50 BTC.  Hooray, right?  Well, I tried to send 30 BTC before they were "mature" (i.e. before the 100+ block mark had passed), and so of course bitcoind reported an error.  However, it also marked those 30 coins as spent, so not only was no transaction created, but the coins aren't usable by me at the moment.

Here is the relevant bit from my debug.log:

ThreadRPCServer method=sendtoaddress
CommitTransaction:
CTransaction(hash=cf3bee, ver=1, vin.size=1, vout.size=2, nLockTime=0)
    CTxIn(COutPoint(e9894c, 0), scriptSig=0x014866DE7A1889014BAC9A)
    CTxOut(nValue=20.00000000, scriptPubKey=OP_DUP OP_HASH160 0x01BA)
    CTxOut(nValue=30.00000000, scriptPubKey=OP_DUP OP_HASH160 0x3F3A)
AddToWallet cf3bee  new
CommitTransaction() : Error: Transaction not validreceived: addr (27 bytes)
07/30/10 15:27:00 Flushing wallet.dat
Flushed wallet.dat 1ms

So my wallet started with 50.01 BTC in it (the 0.01 was just a test I'd run the other day from one machine to another), and now my wallet just has 20.01 BTC in it.  I'm a little sad---I was excited about generating those coins!

Erik



Title: Re: Bug: "Immature" coins lost in wallet.dat during transaction
Post by: satoshi on July 30, 2010, 07:19:05 PM
I don't get how it let you send if it was not matured.  Your balance would have been lower than the amount.  It would have said balance 0.01, right?  If I try that it says "you don't have enough money" or "Insufficient funds" from the command line.

How many blocks did it say it had left to mature when you sent?

There's a chance it might still go through.

Have you copied or moved your wallet.dat in any way?




Title: Re: Bug: "Immature" coins lost in wallet.dat during transaction
Post by: Dybbuk on July 30, 2010, 07:49:03 PM
Well, I shut down bitcoind and backed up my wallet immediately, but it never reported that I had more blocks to wait before they matured.  I just assumed that was the problem.  I did start up bitcoind after making the backup, just in case the transaction could still go through.

Using Gavin's bitcoin tools, I can see that the transaction is still in my wallet, and that the coins are still marked as spent, but neither my bitcoin nor the recipient's shows the transaction as having gone through.