-
Notifications
You must be signed in to change notification settings - Fork 152
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
mordor fails to sync with invalid mix digest
at block 4_980_000
#439
Comments
UpdateI just edited my service file |
// newlru create a new least-recently-used cache for either the verification caches
// or the mining datasets.
// A constraint of maxItems >= 1 is silently enforced.
func newlru(what string, maxItems int, new func(epoch uint64, epochLength uint64) interface{}) *lru {
if maxItems <= 0 {
maxItems = 1
}
cache, _ := simplelru.NewLRU(maxItems, func(key, value interface{}) {
log.Trace("Evicted ethash "+what, "epoch", key)
})
return &lru{what: what, new: new, cache: cache}
} ethash := &Ethash{
config: config,
caches: newlru("cache", config.CachesInMem, newCache),
datasets: newlru("dataset", config.DatasetsInMem, newDataset),
update: make(chan struct{}),
hashrate: metrics.NewMeterForced(),
} |
+1
|
I just restarted with a new version (current master head) and the problem disappeared. Sync continued normally immediately.
|
Can we close this one? Do you prefer the release to come first? |
I'm OK closing it for now, though I'm not entirely convinced that the issue is actually resolved in the latest version. It could be that just restarting fixes it, but we'll see. I haven't seen any other reports of this issue, so whatever it is, it's uncommon and inconsistent. Probably its related to the shape of the Mordor chain and network. |
I am playing with mordor a lot lately and I didn't have this issue so far. |
This test reproduces an error encountered on the Mordor testnet and reported here #439 Ethash returns a cache value with epoch length of 30k, where it should return one appropriate for the ECIP1099-era with an epoch length of 60k. This caused header verification to fail because the mix digest was incorrect. This issue only occurred while syncing the Mordor network because the cache was in-memory and because the original-era epoch was matched later by the ECIP1099-era epoch and the LRU future item was anachronistic. Date: 2022-08-30 08:35:32-07:00 Signed-off-by: meows <b5c6@protonmail.com>
This test reproduces an error encountered on the Mordor testnet and reported here #439 Ethash returns a cache value with epoch length of 30k, where it should return one appropriate for the ECIP1099-era with an epoch length of 60k. This caused header verification to fail because the mix digest was incorrect. This issue only occurred while syncing the Mordor network because the cache was in-memory and because the original-era epoch was matched later by the ECIP1099-era epoch and the LRU future item was anachronistic. Date: 2022-08-30 08:35:32-07:00 Signed-off-by: meows <b5c6@protonmail.com>
System information
Geth version:
Expected behaviour
Syncs Mordor through blocks 5m+.
Actual behaviour
Loops out on encountering an invalid block.
Steps to reproduce the behaviour
Below is the system file.
I have attempted
systemctl restart
s multiple times. I have purged the entire datadir (which in my configuration contains the ethash dirs) mutliple times, resyncing from scratch. The issue persists.Backtrace
The text was updated successfully, but these errors were encountered: