-
Notifications
You must be signed in to change notification settings - Fork 36.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encrypted wallets and -salvagewallet #2480
Comments
This is your fix. You can't trail like that in Boost(yet): http://stackoverflow.com/questions/11505811/creating-a-separate-boost-thread-for-endpoint-listen-in-a-multithreaded-progra Sorry i'm not at my workstation to test but I have had that issue before and those directions fixed it |
There are two issues here. The first is the reported problem (-salvagewallet not working with encrypted wallets due the the keypool initialization failing, see #2566 for a fix). The other seems a problem with exceptional exits in combination with Gavin's thread rewrite in Bitcoin-Qt. |
I'm testing a fix for the second issue; it is being caused by destructors being called after main() exits. |
Bitcoin-Qt could core dump if application initialization failed in certain ways. I double-fixed this: 1) qt/bitcoin.cpp now shuts down core threads cleanly if AppInit2 returns false 2) init.cpp now exits before StartNode() if strErrors is set (no reason to StartNode if we're just going to exit immediately anyway). Tested by triggering all of the various ways AppInit2 can fail, either by passing bogus command-line arguments or just recompiling tweaked code to simulate failure. This is a partial fix for bitcoin#2480
Bitcoin-Qt could core dump if application initialization failed in certain ways. I double-fixed this: 1) qt/bitcoin.cpp now shuts down core threads cleanly if AppInit2 returns false 2) init.cpp now exits before StartNode() if strErrors is set (no reason to StartNode if we're just going to exit immediately anyway). Tested by triggering all of the various ways AppInit2 can fail, either by passing bogus command-line arguments or just recompiling tweaked code to simulate failure. This is a partial fix for bitcoin#2480
Can confirm that this is solved by #2566 |
Sipa, you have 0.010945 BTC waiting for you on bitcoinbounties.com. Please login with your Github account and provide a payout Bitcoin address so we can send it to you. Thanks! :-) |
@ryepdx Great, but the "Complete registration" button after entering my address doesn't really seem to do anything... |
Hmm, okay. What browser are you in? Can you email me at (redacted)? I don't want to spam up this issue page. EDIT: Looks like Github started requiring a User-Agent string in their API calls. Updated the Github API library I was using and everything seems to be working now. How does it look on your end? |
Bitcoin-Qt could core dump if application initialization failed in certain ways. I double-fixed this: 1) qt/bitcoin.cpp now shuts down core threads cleanly if AppInit2 returns false 2) init.cpp now exits before StartNode() if strErrors is set (no reason to StartNode if we're just going to exit immediately anyway). Tested by triggering all of the various ways AppInit2 can fail, either by passing bogus command-line arguments or just recompiling tweaked code to simulate failure. This is a partial fix for bitcoin#2480
How can you open a *.bak file created by --salvagewallet? |
Salvaging an encrypted wallet makes bitcoin quit with the following error:
Steps to reproduce:
debug.log:
The keypool error appears every time at startup, from then on. The wallet may be corrupted, but it from the error appears to be a bug in the code with mutexes.
The text was updated successfully, but these errors were encountered: