-
Notifications
You must be signed in to change notification settings - Fork 35.5k
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
LevelDB error: Corruption: block checksum mismatch didn't trigger reindex. #30138
Comments
Can you clarify this? The debug log says "Shutdown: done", but you claim that "It connects to many peers", indicating that the program is still running? If this is the case, it would be a bug, because the program should abort and shutdown when file corruption is detected in the leveldb database. |
When I restart bitcoin-qt, it should have asked to reindex, but instead it connects to peers and tries to sync (but stalls): The debug log doesn't show any more corrupt DB errors than the one I pasted above. |
Later, I tried Knots, but the issue occurs with that fork, too. I also noticed that from
|
If I delete the blocks, it triggers a reindex when I restart the app. Perhaps some of the (pruned) blocks were corrupted? Also, I have a backup of the chainstate from May 11. I wish I could re-download only the blocks since then, not have to re-download the entire chain again. |
I guess we should save a "reindex needed" flag somewhere when LevelDB corruption causes the node to shutdown? LevelDB corruption means you have a bad chainstate. It's not really possible to rebuild it without a full reindex from genesis, short of us doing something like utreexo commitments (even without a softfork, we could set a flag in the block index db to indicate when the commitment is valid) |
Is there an existing issue for this?
Current behaviour
For the past 29 hours, it's been stuck trying to sync:
and
I'm also pruning (
prune=550
).Expected behaviour
It should sync the full chain and reindex if needed, not try to sync what it can't (due to possibly corrupt chainstate DB).
Steps to reproduce
Open up
bitcoin-qt
. It doesn't say I need to reindex, but everything else works. It connects to many peers, but very little date (<25 KB) is transferred between each of them.Relevant log output
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
v27.0
Operating system and version
slackware64-current
Machine specifications
No response
The text was updated successfully, but these errors were encountered: