Okay, looks like this is the only place I can ask my questions, let's see how far I can get...
I've been having issues for the last few months with Bitcoin unexpectedly disappearing, over time I would get a couple dozen little BitCoin icons in my tray (that would evaporate whenever I touched them with the mouse, a symptom of a previously-crashed program)
With the newest version (0.4beta) I'm actually starting to get error messages. This is an example:
EXCEPTION: 22DbRunRecoveryException
DbEnv::txn_checkpoint: DB_RUNRECOVERY: Fatal error, run database recovery
C:\Program Files (x86)\Bitcoin\bitcoin.exe in ThreadIRCSeed()
I (made a copy and) deleted all the files in my bitcoin directory except for: wallet.dat, bitcoin.conf, server.cert, server.pem and restarted Bitcoin. It then rebuilt the keychain and got up to about the middle of August and would start getting the same kinds of errors:
EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
C:\Program Files (x86)\Bitcoin\bitcoin.exe in AppInit()
EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
C:\Program Files (x86)\Bitcoin\bitcoin.exe in CMyApp::OnUnhandledException()
Okay, time to break out my VirtualBox running Ubuntu...
db4.8_dump wallet.dat | db4.8_load wallet-new.dat
(no errors)
Launching BitCoin with this:
EXCEPTION: 11DbException
Db::open: Resource device
C:\Program Files (x86)\Bitcoin\bitcoin.exe in CMyApp::OnUnhandledException()
Okay, deleted my wallet file, launched bitcoin to create an empty wallet, then shut it down and used the empty wallet as the target of db4.8_load (again, no errors). Bitcoin says:
Error loading wallet.dat: Wallet corrupted
At this point I'm feeling less like my wallet is bad and more like I don't know what I'm doing and I need to start diving into source to see what is going on, like excluding one table from the dump or writing a program to wipe the contents of a table or something. The fact that db4.8_dump gave no obvious errors makes me feel like whatever is going on is happening outside of BDB inside of Bitcoin proper.
The dump file format doesn't make it terribly easy to read, I'm seeing a very long sting of hex digits that I'm guessing I need to somehow decode if I'm to make any heads or tails of this? Aren't there supposed to be table names somewhere in here?
This being the newbie forum I'm half expecting the usual "run fdisk and try again" response I seem to get so often from customer service. I prob don't have the number of coins that people here have (although I don't really know what my current balance is right now). It would be nice if I could come up with some SQL somewhere to copy the keys over and just do a -rescan of everything else...