-
Notifications
You must be signed in to change notification settings - Fork 48
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
Merge upstream op-geth v1.101308.2 #87
Merged
Merged
Conversation
This file contains 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
This change fixes a memory leak, when running either state-tests or blockchain-tests, we allocate a `1MB` fastcache during snapshot generation. `fastcache` is a bit special, and requires a `Reset()` (it has it's own memory allocator). The `1MB` was hidden [here](https://github.com/ethereum/go-ethereum/blob/master/tests/state_test_util.go#L333) and [here](https://github.com/ethereum/go-ethereum/blob/master/tests/block_test_util.go#L146) respectively.
Changes the trusted_setup to the one created during the kzg-ceremony. The trusted setup file can be found in the consensus specs: https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/trusted_setups/trusted_setup_4096.json --------- Co-authored-by: Marius van der Wijden <[email protected]>
…ds (#28359) A goroutine is used to manage the lifetime of subscriptions managed by resubscriptions. When the subscription ends with no error, the resub goroutine ends as well. However, the resub goroutine needs to live long enough to read from the unsub channel. Otheriwse, an Unsubscribe call deadlocks when writing to the unsub channel. This is fixed by adding a buffer to the unsub channel.
Fixes a bug where the ethstats omits to report full block contents. This bug was a side-effect of ethereum/go-ethereum#26777, where `CurrentBlock` was changed to return a header instead of a block, leading to a failed type assertion.
…198) This PR adds more error message for debugging purpose.
As per discussion in ethereum/execution-apis#475
…in stacktrie (#28327) * core, eth, trie: filter out boundary nodes in stacktrie * eth/protocol/snap: add comments * Update trie/stacktrie.go Co-authored-by: Martin Holst Swende <[email protected]> * eth, trie: remove onBoundary callback * eth/protocols/snap: keep complete boundary nodes * eth/protocols/snap: skip healing if the storage trie is already complete * eth, trie: add more metrics * eth, trie: address comment --------- Co-authored-by: Martin Holst Swende <[email protected]>
This change closes ethereum/go-ethereum#27730 . By using an iterator instead of a slice of transactions, we can better handle the case when an individual transaction (within an otherwise well-formed RLP-list) cannot be decoded.
This PR removes panics from stacktrie (mostly), and makes the Update return errors instead. While adding tests for this, I also found that one case of possible corruption was not caught, which is now fixed.
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <[email protected]>
…28358) The String() version of BlockNumberOrHash uses decimal for all block numbers, including negative ones used to indicate labels. Switch to using BlockNumber.String() which encodes it correctly for use in the JSON-RPC API.
This PR is a bit in preparation for the slog work in #28187 . Our current test re logging mostly test the internals, but we have no real end-to-end test of the logging output. This PR introduces a simple reexec-based log tester. This also relies upon a special mode in geth, which can be made to eject a set of predefined log messages (only available if the build-tag `integrationtests` is used e.g. go run --tags=integrationtests ./cmd/geth --log.format terminal logtest While working on this, I also noticed a quirk in the setup: when geth was configured to use a file output, then two separate handlers were used (one handler for the file, one handler for the console). Using two separate handlers means that two formatters are used, thus the formatting of any/all records happened twice. This PR changes the mechanism to use two separate io.Writers instead, which is both more optimal and fixes a bug which occurs due to a global statefulness in the formatter.
Signed-off-by: jsvisa <[email protected]>
* core, cmd/geth: add --override.* flags to geth init * also apply overrides before genesis commit with new block * review feedback
--------- Signed-off-by: jsvisa <[email protected]>
a little copying is better than a little dependency -- go proverb We have this dependency on docker, a.k.a moby: a gigantic library, and we only need ~70 LOC, so here I tried moving it inline instead. Co-authored-by: Felix Lange <[email protected]>
* trie/triedb/pathdb: improve dirty node flushing trigger * trie/triedb/pathdb: add tests * trie/triedb/pathdb: address comment
…. (#28379) This adds warning logs when the read does not match the expected count. We can also remove the size limit since the function documentation explicitly states that callers should limit the count.
This change improves GenerateChain to support internal chain history access (ChainReader) for the consensus engine and EVM. GenerateChain takes a `parent` block and the number of blocks to create. With my changes, the consensus engine and EVM can now access blocks from `parent` up to the block currently being generated. This is required to make the BLOCKHASH instruction work, and also needed to create real clique chains. Clique uses chain history to figure out if the current signer is in-turn, for example. I've also added some more accessors to BlockGen. These are helpful when creating transactions: - g.Signer returns a signer instance for the current block - g.Difficulty returns the current block difficulty - g.Gas returns the remaining gas amount Another fix in this commit concerns the receipts returned by GenerateChain. The receipts now have properly derived fields (BlockHash, etc.) and should generally match what would be returned by the RPC API.
Co-authored-by: lightclient <[email protected]>
make `opCodeToString` a `[256]string` array Co-authored-by: lmittmann <[email protected]>
Currently, one can use the "withLogs" parameter to include logs in the callTracer results, which allows the user to see at which trace level was each log emitted. This commit adds a position field to the logs which determine the exact ordering of a call's logs and its subcalls. This would be useful e.g. for explorers wishing to display the flow of execution. Co-authored-by: jsvisa <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
and rely on superchain to override these for us
…03fe7 && go mod tidy
This reverts commit d19ad5295dc29468947ab6bad6dfefbfd85e4818.
…e25cc && go mod tidy
…1e409 && go mod tidy
…57df8 && go mod tidy
# Conflicts: # cmd/geth/snapshot.go # cmd/utils/flags.go # core/genesis.go # core/state/database.go # core/state/statedb.go # eth/ethconfig/config.go # light/trie.go # trie/database.go
Co-authored-by: Nolan <[email protected]>
Co-authored-by: Keefe Liu <[email protected]>
redhdx
previously approved these changes
May 6, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Keefe Liu <[email protected]>
redhdx
approved these changes
May 7, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
owen-reorg
approved these changes
May 7, 2024
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.
Description
Merge upstream op-geth v1.101308.2
Rationale
To import bugsfix/improvements/features from upstream op-geth
Example
n/a
Changes
changes from geth
v1.13.4 -> v1.13.8
changes from op-geth
v1.101304.1 ➝ v1.101308.2
Conflicts:
# cmd/geth/main.go
# cmd/utils/flags.go
# core/vm/interpreter.go
# eth/backend.go
# eth/ethconfig/config.go
# go.mod
# go.sum
# miner/payload_building.go
# miner/payload_building_test.go
# miner/worker.go
# params/config.go
# trie/database.go
# trie/triedb/pathdb/disklayer.go
Conflicts after Fastnode PR(#75) and simplify node start PR(#91) merge:
# cmd/geth/snapshot.go
# cmd/utils/flags.go
# core/genesis.go
# core/state/database.go
# core/state/statedb.go
# eth/ethconfig/config.go
# light/trie.go
# trie/database.go