Skip to content
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

core/state: fix SetStorage override behavior #30185

Merged
merged 1 commit into from
Jul 23, 2024

Conversation

rjl493456442
Copy link
Member

@rjl493456442 rjl493456442 commented Jul 18, 2024

This pull request fixes the broken feature where the entire storage set is overridden.

Originally, the storage set override was achieved by marking the associated account as deleted, preventing access to the storage slot on disk. However, since pull request 29520, this flag is also checked when accessing the account, rendering the account unreachable.

A fix has been applied in this pull request, which re-creates a new state object with all account metadata inherited.

Copy link
Contributor

@s1na s1na left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@fjl fjl changed the title core, internal: fix storage override core/state: fix SetStorage override behavior Jul 23, 2024
@fjl fjl added this to the 1.14.8 milestone Jul 23, 2024
@fjl fjl merged commit 766ce23 into ethereum:master Jul 23, 2024
3 checks passed
@fjl fjl removed the status:triage label Jul 23, 2024
rjl493456442 pushed a commit that referenced this pull request Jul 26, 2024
Looks like #30094 became a bit stale after #30185 was merged and now we
have a stale ref to a state override object causing CI to fail on
master.
leeren pushed a commit to storyprotocol/story-geth that referenced this pull request Aug 16, 2024
This pull request fixes the broken feature where the entire storage set is overridden.

Originally, the storage set override was achieved by marking the associated account
as deleted, preventing access to the storage slot on disk. However, since ethereum#29520, this
flag is also checked when accessing the account, rendering the account unreachable.

A fix has been applied in this pull request, which re-creates a new state object with all
account metadata inherited.
leeren pushed a commit to storyprotocol/story-geth that referenced this pull request Aug 16, 2024
Looks like ethereum#30094 became a bit stale after ethereum#30185 was merged and now we
have a stale ref to a state override object causing CI to fail on
master.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants