I've been using bitcoin for over a year now without issues. It's been a while since I fired up a bitcoin client though, at least a couple months.
When I try running a bitcoin client (bitcoin-qt version 0.6.0-oneiric0) today, I get the error message
Error loading wallet.dat: Wallet corrupted
I generally use GPG to encrypt and decrypt wallet.dat, and I only have backups of the encrypted wallet.dat.gpg file. I encrypt and decrypt the file only while bitcoin is not running.
I tried following https://bitcointalk.org/index.php?topic=11331.0 . The tools appeared to work (
dbdump.py --wallet doesn't throw any errors and spits out what looks like proper wallet contents), but after fixing my wallet with
fixwallet.py I get the same "Wallet corrupted" error from the bitcoin client.
The bitcoin client works fine if I blow away my
I'm using 32-bit Ubuntu 11.10 desktop.
I also tried installing the latest bitcoin Qt client on Windows, but that also reports wallet.dat is corrupted.
I tried using a Linux binary from bitcoin.org, and I get this error message:
************************ EXCEPTION: 22DbRunRecoveryException DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery bitcoin in Runaway exception terminate called after throwing an instance of 'DbRunRecoveryException' what(): DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery Aborted
This may be related: https://github.com/bitcoin/bitcoin/issues/809
Update Mon, 30 Apr 2012 21:45:00 -0700
I ended up trying a bunch of older versions of the bitcoin client, and version 0.3.24-beta reads the wallet just fine! What the heck!?! Gotta be a bug in bitcoin. Now I just need to figure out a way to safely "upgrade" my wallet so it works with 0.6, I guess.
Update Mon, 30 Apr 2012 22:00:00 -0700
Bitcoin 0.4.1 is able to work with everything in my
~/.bitcoin dir. 0.5.4rc3 and 0.6.0 do not work.
Is there some way to serialize the wallet data as plain text? Man, I hate BerkeleyDB.
Update Wed, 02 May 2012 10:43:19 -0700
Using Bitcoin 0.4.1 with my old wallet (which apparently contains something corrupt), I was able to transfer my balance to a new wallet created from scratch with Bitcoin 0.6.0.