You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Geth version: v1.2.7
OS & Version: Linux
Commit hash : 9ed95d8
Expected behaviour
No deadlock.
Actual behaviour
Deadlock
Steps to reproduce the behaviour
It may not easy to reproduce, I was running a fast node to sync the latest BSC mainnet block. I upgraded it to v1.2.7 and it keeps running smoothly for ~6 hours, then it got stuck, can not sync anymore.
The previous routine tries to Send the event: ChainHeadEvent, it could be caused by the following routine, which also got stuck by sending another event: NewVoteEvent, so it did not consume its ChainHeadEvent, so its channel buffer could be exhausted, which make the previous routine stuck.
System information
Geth version: v1.2.7
OS & Version: Linux
Commit hash : 9ed95d8
Expected behaviour
No deadlock.
Actual behaviour
Deadlock
Steps to reproduce the behaviour
It may not easy to reproduce, I was running a fast node to sync the latest BSC mainnet block. I upgraded it to v1.2.7 and it keeps running smoothly for ~6 hours, then it got stuck, can not sync anymore.
Backtrace
use this cmd to dump all the routine:
curl http://localhost:6060/debug/pprof/goroutine?debug=2
first dump: dump_routine_0626.log
after 2 minutes: dump_routine_0626_2.log
I found the critical path got stuck by this callstack.
The previous routine tries to Send the event:
ChainHeadEvent
, it could be caused by the following routine, which also got stuck by sending another event:NewVoteEvent
, so it did not consume its ChainHeadEvent, so its channel buffer could be exhausted, which make the previous routine stuck.The text was updated successfully, but these errors were encountered: