You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Wallet database corruption happens occasionally. The version of BDB we're using does a bad job of recovering databases automatically when they're opened. (The BDB change logs mention several bugs in db recovery on initialization, fixed in later versions.)
Describe the solution you'd like
When building the bdb dependency, also build the utilities described here. Put them somewhere where users won't trip over them (i.e. not in src/), but that allows us to support a user to attempt to recover their wallet without having to perform an extra step to download the utilities and build them. This should not increase overall build times by much, I think.
Note that the utilities have to be from exactly BDB version 6.2.23, otherwise they're only likely to fail and/or corrupt the wallet.dat further.
Alternatives you've considered
Ideally we'd switch to a more reliable database, but that is a longer-term task. I have seen cases where using the utilities (specifically, using db_recover on a corrupted copy of the wallet db, moving it back to wallet.dat and restarting the node with -reindex) has been successful.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Wallet database corruption happens occasionally. The version of BDB we're using does a bad job of recovering databases automatically when they're opened. (The BDB change logs mention several bugs in db recovery on initialization, fixed in later versions.)
Describe the solution you'd like
When building the bdb dependency, also build the utilities described here. Put them somewhere where users won't trip over them (i.e. not in
src/
), but that allows us to support a user to attempt to recover their wallet without having to perform an extra step to download the utilities and build them. This should not increase overall build times by much, I think.Note that the utilities have to be from exactly BDB version 6.2.23, otherwise they're only likely to fail and/or corrupt the
wallet.dat
further.Alternatives you've considered
Ideally we'd switch to a more reliable database, but that is a longer-term task. I have seen cases where using the utilities (specifically, using
db_recover
on a corrupted copy of the wallet db, moving it back towallet.dat
and restarting the node with-reindex
) has been successful.The text was updated successfully, but these errors were encountered: