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
Peering issues with Prysm / Schlesi sync stuck #989
Comments
Getting the same:
And a lot of status (rpc, not you, haha) errors like this:
|
@protolambda syncing freezes because there no more peers available/connected.
|
It's a peering issue indeed and it's highly reproducible. I cannot consistently peer with Prysm, Lighthouse, and Teku bootnodes on Schlesi. |
See my comments about status message exchange in discord. For debugging with rumor, when I open only the snappy rpc status method, and not the non-snappy one, it failed to detect it. The supports-snappy peer attribute seems to be broken. And I imagine other clients have trouble with the non-snappy version. Additionally, the finalized root for a status message at genesis is wrong. |
Root cause here is a block not being accepted:
|
Interesting, good find! Regarding the block: invalid deposit signatures are perfectly valid for the chain. The signature may be wrong because of a user error, but the deposit is proven through the eth1 deposits merkle tree, and will have to be processed so that future deposits can be processed afterwards. This is required since we need fair deposit ordering, and not skip any. |
https://github.com/ethereum/eth2.0-specs/blob/v0.11.1/specs/phase0/beacon-chain.md#deposits says:
Should that check, then, not be so decisive for deposit processing, or otherwise skipped except if otherwise useful/interesting as a diagnostic warning? |
@tersec https://github.com/status-im/nim-beacon-chain/blob/9636ca3e17628d4bfbdc2a29006e5385fc398e66/beacon_chain/spec/beaconstate.nim#L92 notably, we fail the block, the spec version merely returns and keeps processing |
* fix Status message finalized info * work around sync starting before initial status exchange * don't fail block on deposit signature check failure (fixes #989) * print ForkDigest and Version nicely * dump incoming blocks * fix crash when libp2p peer connection is closed
* fix Status message finalized info * work around sync starting before initial status exchange * don't fail block on deposit signature check failure (fixes #989) * print ForkDigest and Version nicely * dump incoming blocks * fix crash when libp2p peer connection is closed * update chunk size to 16 to work around missing blocks when syncing
* fix Status message finalized info * work around sync starting before initial status exchange * don't fail block on deposit signature check failure (fixes #989) * print ForkDigest and Version nicely * dump incoming blocks * fix crash when libp2p peer connection is closed * update chunk size to 16 to work around missing blocks when syncing
Is this still an issue? |
I cannot test this anymore due to #1012 |
Still cannot fully sync schlesi:
[...]
devel @ e537ed9 |
#1026 works around a sync manager issue |
nim-beacon-chain devel @ 3ffd0d7
Config:
The initial sync of my Schlesi beacon node was interrupted and stalled after this:
There's a lot going on in that log:
After that it's an endless loop of:
The text was updated successfully, but these errors were encountered: