-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
verify_bank_hash failed: MismatchedAccountHash: Tip of master is still not compatible with devnet/mainnet-beta #10163
Comments
Sorry, my bad.... I found a hunch for this: https://github.com/solana-labs/solana/pull/10166/files#r428900953 |
I saw this against devnet last night as well |
@CriesofCarrots Thanks for the heads-up. I'll look into it as well! |
First, our sanity is still held; recent tds and devnet snapshots are good on v1.1 branch:
|
Phew, I've summarized about v1.1 and master snapshot hash compatibility: devnet: not compatibile at the moment because Anyway, we can restore the compatibility again in a week (yeah, longer than expected as this issue description is pointing out) with flow of (tedious) events:
As a afterthought, rolling update of |
I also checked master vs v1.1 snapshot compatibility can be restored both for devnet and tds like this patch locally: For tds $ git diff
diff --git a/runtime/src/accounts_db.rs b/runtime/src/accounts_db.rs
index 697212c6c..5bbdd443a 100644
--- a/runtime/src/accounts_db.rs
+++ b/runtime/src/accounts_db.rs
@@ -1425,7 +1425,9 @@ impl AccountsDB {
hasher.hash(&[0u8; 1]);
}
- hasher.hash(&owner.as_ref());
+ if slot >= 14_000_000 {
+ hasher.hash(&owner.as_ref());
+ }
hasher.hash(&pubkey.as_ref());
hasher.result()
for devnet $ git diff
diff --git a/runtime/src/accounts_db.rs b/runtime/src/accounts_db.rs
index 697212c6c..140068fae 100644
--- a/runtime/src/accounts_db.rs
+++ b/runtime/src/accounts_db.rs
@@ -1425,7 +1425,7 @@ impl AccountsDB {
hasher.hash(&[0u8; 1]);
}
- hasher.hash(&owner.as_ref());
+ //hasher.hash(&owner.as_ref());
hasher.hash(&pubkey.as_ref());
hasher.result()
|
I'm working on this via https://github.com/solana-labs/solana/projects/54 |
Update:
Next steps: check again on June 2nd as this is just a waiting game |
@mvines Thanks for the update! Your understanding is correct! Also, note that the compatibility with mainnet-beta is blocked by the enablement of eager-rent collection because otherwise old account state in pre-hasing-change still remains (this still hasn't for the cluster..) For devnet, it looks like it's gradually transitioning, you can check the progress by decreasing count printed at: https://github.com/solana-labs/solana/blob/v1.2.0/runtime/src/accounts_db.rs#L1503 |
devnet is now compatible with master!
No change to status. Retest mainnet-beta<->master compat on epoch 35. |
Now, mainnet-beta is on epoch 35. And, I confirmed that mainnet-beta <-> master compat is finally restored. |
Looks good here too, we're finally done! |
I believe the last remaining rolling update to v1.1 has now activated and master/v1.1 should be compatible again. However starting a master validator, thusly:
produces a bank hash mismatch on snapshot loading, eg:
Status update is here: #10163 (comment)
The text was updated successfully, but these errors were encountered: