- 06 Dec, 2024 7 commits
-
-
Dmitry authored
-
clabby authored
-
Matthew Slipper authored
-
smartcontracts authored
We can do this with a justfile recipe. Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Adrian Sutton authored
-
Matthew Slipper authored
I've found a [deadlock](https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/73846/workflows/19369ca9-9eaa-4021-9eb8-589a06e7bd34/jobs/3018041) in the op-conductor tests. The inner conductor loop is stuck waiting on a queue signal that never arrives, which in turn causes the test to hang since the coordinating waitgroup is never decremented. I believe this happens because the conductor's `queueAction` method is non-blocking, so nothing ever triggers conductor's inner loop when conductor start up. I've updated the code to use a blocking channel write when conductor starts to avoid this issue. The traces of the deadlock look like this, for reference: ``` goroutine 227 [semacquire, 9 minutes]: sync.runtime_Semacquire(0xc0004df577?) /usr/local/go/src/runtime/sema.go:62 +0x25 sync.(*WaitGroup).Wait(0x0?) /usr/local/go/src/sync/waitgroup.go:116 +0x48 github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).execute(0xc0003e4008, 0x0) /var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:177 +0x65 github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).executeAction(...) /var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:197 github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).enableSynchronization(0xc0003e4008) /var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:163 +0x93 github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).TestScenario4(0xc0003e4008) /var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:420 +0x27 reflect.Value.call({0xc000131900?, 0xc0001b3740?, 0x1fed5b8?}, {0x191d63c, 0x4}, {0xc0004dff28, 0x1, 0x16f12e0?}) /usr/local/go/src/reflect/value.go:596 +0xca6 reflect.Value.Call({0xc000131900?, 0xc0001b3740?, 0x28307b8?}, {0xc0004dff28?, 0xf?, 0x0?}) /usr/local/go/src/reflect/value.go:380 +0xb9 github.com/stretchr/testify/suite.Run.func1(0xc0001f9ba0) /home/circleci/go/pkg/mod/github.com/stretchr/testify@v1.10.0/suite/suite.go:202 +0x4a5 testing.tRunner(0xc0001f9ba0, 0xc0001f4e10) /usr/local/go/src/testing/testing.go:1689 +0xfb created by testing.(*T).Run in goroutine 166 /usr/local/go/src/testing/testing.go:1742 +0x390 goroutine 229 [select, 9 minutes]: github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductor).loopAction(0xc00056ab40) /var/opt/circleci/data/workdir/op-conductor/conductor/service.go:577 +0x14f github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).enableSynchronization.func1() /var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:159 +0x33 github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductor).loop(0xc00056ab40) /var/opt/circleci/data/workdir/op-conductor/conductor/service.go:570 +0x99 created by github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductor).Start in goroutine 227 /var/opt/circleci/data/workdir/op-conductor/conductor/service.go:376 +0x1f6 FAIL github.com/ethereum-optimism/optimism/op-conductor/conductor 600.103s ```
-
Axel Kingsley authored
* interop: parallelized receipt fetching * fix test * remove elastic thread count * Add Debug Message for Range Fetching * rename end to last * Remove Println --------- Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
- 05 Dec, 2024 21 commits
-
-
Matthew Slipper authored
-
smartcontracts authored
-
zhiqiangxu authored
-
mountcount authored
Signed-off-by:
mountcount <cuimoman@outlook.com>
-
Adrian Sutton authored
op-challenger, op-program: Require specific opt-in to use the custom config chain ID indicator (#13217) * op-challenger: Support --cannon-l2-chain-id to pass chain ID through to op-program. * op-program: Default to assuming configs are available in client. Provide a --l2.custom flag to set the chain ID to the custom chain indicator so the client will load configs via the preimage oracle. Since loading configs via the preimage oracle doesn't work on-chain, this is a safer and simpler default now that op-program can be built with custom configs embedded. * op-challenger: Switch to custom L2 flag instead of specifying chain ID * op-challenger: Fix boolean option in op-program execution. * op-e2e: Set custom L2 flag in precompiles test
-
clabby authored
* chore(op-deployer): Accept existing impl in `DelayedWETH` bootstrap task * remove check
-
Adrian Sutton authored
-
Matthew Slipper authored
* ci: Remove Kurtosis-specific go job Kurtosis landed [my fix](https://github.com/kurtosis-tech/kurtosis/pull/2567) for the race condition that prevented us from running a shared Kurtosis instance between jobs. This PR brings that back. * remove dep
-
Matthew Slipper authored
* op-deployer: Update OPCM bootstrap command Updates the OPCM bootstrap command to allow bootstrapping Holocene. * fix merge artifact
-
smartcontracts authored
Fixes the name for scheduled-forge-coverage to develop-forge-coverage in line with the existing pattern.
-
smartcontracts authored
Updates the spacers check to use the new framework for contracts checks written in Go. Adds tests for the functions that this check uses.
-
dependabot[bot] authored
Bumps [github.com/kurtosis-tech/kurtosis/api/golang](https://github.com/kurtosis-tech/kurtosis) from 1.4.2 to 1.4.3. - [Release notes](https://github.com/kurtosis-tech/kurtosis/releases) - [Changelog](https://github.com/kurtosis-tech/kurtosis/blob/main/CHANGELOG.md) - [Commits](https://github.com/kurtosis-tech/kurtosis/compare/1.4.2...1.4.3) --- updated-dependencies: - dependency-name: github.com/kurtosis-tech/kurtosis/api/golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.9.0 to 0.10.0. - [Commits](https://github.com/golang/sync/compare/v0.9.0...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
clabby authored
-
refcell authored
-
Matthew Slipper authored
* op-e2e: Add timeouts to sequencer failover tests These can sometimes never return, which leads to tests timing out in CI. This PR adds timeouts so we can get feedback faster. * avoid capturing parent t in subtest
-
Michael Amadi authored
-
Matthew Slipper authored
* ci: Run contract checks and tests on self-hosted infra * whoops * submodule update with multiple jobs * increase jobs * comment
-
Matthew Slipper authored
* op-deployer: Block deploying tags to chains without OPCM * fix test
-
Michael Amadi authored
* run forge coverage periodically * run forge coverage periodically * run forge coverage periodically * fixes * fixes * run it every 4 hours * run it every 4 hours
-
smartcontracts authored
Updates the unused imports contract check to use the new framework that we recently merged.
-
- 04 Dec, 2024 12 commits
-
-
smartcontracts authored
Moves all contract interfaces to a new top-level folder. Keeps things much cleaner and more sane for a future auto-generated interface system.
-
smartcontracts authored
Cleans up some usage of vm.assume. Will be a series of commits that do mostly the same thing.
-
Matthew Slipper authored
This has since been replaced with op-deployer.
-
George Knee authored
* enhance holoene activation action test to cover execution layer * apply suggestions from code review * undo changes to submodule
-
smartcontracts authored
* feat: timeout fuzz tests after 10 minutes Uses the new fuzz test timeout feature that we merged into foundry to limit individual test runs to 10 minutes. Simplifies how we need to deal with heavy fuzz testing. * fix: improve bounds for OptimismPortal tests Improves the fuzz bounds for the OptimismPortal tests so that they can complete 20000 runs without throwing.
-
smartcontracts authored
Removes the Holocene upgrade folder. We only needed it as part of a specific release and don't need it in develop.
-
clabby authored
-
smartcontracts authored
Workaround for a bug? feature? in foundry that causes it to nuke whatever snapshots directory you have configured. Since this now defaults to "snapshots" it was nuking our snapshots folder.
-
refcell authored
* chore(ops): add support for the op-challenger to run kona + asterisc * fix: update docker bake * fixes
-
smartcontracts authored
Bumps the version of forge/cast/anvil being used in the monorepo.
-
clabby authored
-
Adrian Sutton authored
-