-
Notifications
You must be signed in to change notification settings - Fork 22
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
Node stop mining due to incorrect channel handling #323
Comments
@0xcb9ff9 This is a Top-A issue and we need to fix it before any new releases. |
The state here is very complicated, first create a temporary patch? |
The solution is mainly to preserve the sealed state and prevent re-entering the consensus loop. It passed system tests and local manually tests with 1-validator and 4-validator network. |
The issue will be closed as it had not be recovered in two weeks. |
# Description PR #323 Two questions 1. When node A is getting blocks from node B, if node B is forced to shut down (or when the network connection is disconnected), `GetBlocks` will never expire, causing node A to block synchronously. Although difficult to reproduce, the problem does exist. 2. `PeerConnInfo.protocolClient` saves the grpc client, but the timeout period can't be set in the libp2p stream. libp2p stream leaks if peer disconnects This PR removes grpc client saving, passing timeout context, enforcing timeouts in libp2p streams
[ibft]
Description
All the validator nodes in devnet stop mining during 2023-03-13T15:50:00 and 2023-03-14T00:11:00. It had not been recovered until restarting.
The validator is yielding lots of channels when notified by blockchain subscription and didn't close it until canceling.
In fact, the context is a different one. So GoRoutine might leaks here, and never closed.
dogechain/consensus/ibft/consensus.go
Line 17 in 6f11a34
Your environment
feat-state-snapshot
Steps to reproduce
multicall
contract methods to RPC endpoint.Logs
Check the reference.
There are repeating logs
failed to update submodules in consensus: height=7251395 err="failed to get update lock"
, then no more synced block triggered, and no block sealed any more.Proposed sol
not-sealing.log
ution
The text was updated successfully, but these errors were encountered: