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

upstream: merge tag 'geth-v1.15.1' into bsc-develop #2897

Merged
merged 6 commits into from
Feb 17, 2025

Conversation

buddh0
Copy link
Collaborator

@buddh0 buddh0 commented Feb 17, 2025

Description

upstream: merge tag 'geth-v1.15.1' into bsc-develop

Rationale

mainly for the following PR:
A regression with the ancient store in read-only mode has been fixed. (ethereum/go-ethereum#31173)

Example

add an example CLI or API response...

Changes

Notable changes:

  • add each change in a bullet point here
  • ...

jwasinger and others added 6 commits February 12, 2025 09:55
This fixes an error where executing `evm run --dump ...` omits preimages
from the dump (because the statedb used for execution is a copy of
another instance).
closes ethereum/go-ethereum#31072

BLST released their newest version which includes a fix for go v.1.24:
https://github.com/supranational/blst/releases/tag/v0.3.14

I went through all commits between 0.3.14 and 0.3.13 for a sanity check
This is to prevent a crash on startup with a custom genesis configuration.
With this change in place, upgrading a chain created by geth v1.14.x and
below will now print an error instead of crashing:

    Fatal: Failed to register the Ethereum service: invalid chain configuration: missing entry for fork "cancun" in blobSchedule

Arguably this is not great, and it should just auto-upgrade the config.
We'll address this in a follow-up PR for geth v1.15.2
This PR addresses a flaw in the freezer table upgrade path.

In v1.15.0, freezer table v2 was introduced, including an additional 
field (`flushOffset`) maintained in the metadata file. To ensure 
backward compatibility, an upgrade path was implemented for legacy
freezer tables by setting `flushOffset` to the size of the index file.

However, if the freezer table is opened in read-only mode, this file 
write operation is rejected, causing Geth to shut down entirely.

Given that invalid items in the freezer index file can be detected and 
truncated, all items in freezer v0 index files are guaranteed to be
complete. Therefore, when operating in read-only mode, it is safe to
use the  freezer data without performing an upgrade.
@buddh0 buddh0 marked this pull request as ready for review February 17, 2025 02:01
@zzzckck zzzckck merged commit f9adb83 into bnb-chain:develop Feb 17, 2025
6 of 7 checks passed
@buddh0 buddh0 deleted the merge-tag-geth-v1.15.1 branch March 3, 2025 07:14
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.

7 participants