fix(core): Fix crashes in execution_driver due to inability to execute transactions #4928
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.
Description of change
Merge bug fix from upstream: MystenLabs/sui@675ea8c
From upstream PR description:
Fix crashes in execution_driver due to inability to execute transactions.
We must hold the lock for the object entry while inserting to the
object_by_id_cache. Otherwise, a surprising bug can occur:
Now, any subsequent attempt to get the latest version of O will return (O,1) instead of
(O,2).
This seems very unlikely, but it may be more likely under the following circumstances:
Unfortunately I have not been able to reproduce this bug, so we cannot be sure that
this fixes the crashes we've seen. But this is certainly a possible bug.
Links to any relevant issues
Close #4675
Type of change
Change checklist