fix/deadlock in handling FSchain blocks#3700
Merged
roman-khimov merged 3 commits intomasterfrom Nov 27, 2025
Merged
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #3700 +/- ##
==========================================
- Coverage 27.32% 27.30% -0.02%
==========================================
Files 658 658
Lines 41859 41881 +22
==========================================
+ Hits 11436 11437 +1
- Misses 29363 29381 +18
- Partials 1060 1063 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
c80e415 to
6cbfcae
Compare
6cbfcae to
9813342
Compare
Member
|
Seems like the first patch is sufficient for now. We'll check the blocks later. |
e16deb9 to
41e15ef
Compare
roman-khimov
approved these changes
Nov 26, 2025
0b99236 to
6f49b54
Compare
roman-khimov
approved these changes
Nov 27, 2025
Handling timer ticks is now non-blocking: if handling events is still in progress, mark it as ready-to-execute again and continue reading block events. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
It confuses when it is seen that something is started but there is no finishing logs. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
6f49b54 to
c8137d7
Compare
cthulhu-rider
approved these changes
Nov 27, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Handling events is often related to sending something to chain, while updating time in timers is receiving events from the chain itself. Send/receive conflict always leads to a deadlock, so not blocking timers (a routine that is known for sure as a chain subscriber) helps to prevent locking. In particular, it fixes locking payment routine in IR when the network is real with its latencies and the number of containers.