-
Notifications
You must be signed in to change notification settings - Fork 745
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 mismatch #526
Comments
Another maybe important piece of information is that I was originally debugging this between smoldot and the bootnode. The bootnode refuses smoldot (just like it refuses Substrate), and closes the substream, and smoldot picks up the substream closing. So I would lean towards the bug being on the receiving side, where the substream is actually closed by the bootnode but Substrate doesn't detect it. |
CC @altonen @dmitry-markin something for you to look into. :) |
To debug, I would suggest to start two Substrate nodes, on one of them replace this with There are normally 3 notification substreams being opened, so if you do println-debugging should probably print the |
So far it boils down to the local node not learning that the bootnode has closed In the mean time the issue will likely be fixed by #556 when |
Reopened, as the PR paritytech/substrate#13396 was reverted |
* add more substrate accounts * 's * Update deployments/README.md Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com> * Update deployments/README.md Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com> * more fixes * with messages to -> which contain messages for Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
When connecting a local Substrate node to a bootnode, the local Substrate node thinks that it has successfully peered with the bootnode, while in reality the bootnode has kicked out the Substrate node.
This has been investigated on Westend, but I've originally seen it happen on Polkadot.
The bootnode logs:
Here is the local Substrate node logs:
(note: the logs are obviously truncated, but nothing relevant happens for several seconds afterwards)
As you can see, there's no
sync: Disconnected 12D3KooWGi1tCpKXLMYED9y28QXLnwgD4neYb1Arqq4QpeV1Sv3K
like expected.The sync state machine thinks that we're still peered with the node. And this is confirmed by the fact that the local Substrate node then sends block requests to the bootnode.
The difference on the lower level is that the bootnode closes the block announces substream (
SetId(0)
), but the local Substrate node doesn't seem to pick up this closing.The text was updated successfully, but these errors were encountered: