[1.0.2 -> main] SHiP: Fix hang on shutdown #820
Merged
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.
state_history_plugin
(SHiP) would sometimes hang on shutdown. Thenodeos
process would get stuck trying to lock a mutex of the main applicationio_context
strand while destroying aboost::beast::websocket::stream
.Created a test that reproduces the failure (thanks @taokayan for #813). The failure was not reliably repeatable, but it did fail on every CI/CD run for at least one of the platforms. See for example: https://github.com/AntelopeIO/spring/actions/runs/11017331583/job/30595880305
Modified SHiP
boost::beast::websocket
to use the SHiP thread instead of the main application thread executor strand.Merges
release/1.0
intomain
including #816.Resolves #815