From d5e739d89452e136e3ca6dc7ce70ab9db5007f54 Mon Sep 17 00:00:00 2001 From: DavePearce Date: Tue, 8 Oct 2024 09:15:58 +0100 Subject: [PATCH 1/4] Reenable `leoFailingRange()` This was previously failing after updating from corset v9.7.13 to v9.7.14. This change exposed some performance limitations in go-corset which have hopefully been addressed. --- .pre-commit-config.yaml | 2 +- .../test/java/net/consensys/linea/replaytests/ReplayTests.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 763f347f4f..f14be89ba6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,7 +9,7 @@ repos: - id: check-yaml - id: check-xml - repo: https://github.com/commitizen-tools/commitizen - rev: 3.5.3 + rev: v3.5.3 hooks: - id: commitizen stages: [ commit-msg ] diff --git a/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java b/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java index 6a4bdfaa92..aed8605f18 100644 --- a/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java +++ b/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java @@ -51,7 +51,6 @@ void bulkReplay() { // bulkReplay(LINEA_MAINNET, ""); } - @Disabled @Test void leoFailingRange() { replay(LINEA_MAINNET, "5389571-5389577.json.gz"); From 01b167d7145f400d6e011d48f13d9354127bcb7f Mon Sep 17 00:00:00 2001 From: DavePearce Date: Tue, 8 Oct 2024 10:01:02 +0100 Subject: [PATCH 2/4] Update `.pre-commit-config.yaml` This updates the configuration file to use latest versions of relevant components, and also to prevent running `gradle check` for each commit. Since this runs all known tests, it would take possibly over an hour to complete on a laptop. --- .github/workflows/gradle-nightly-tests.yml | 2 +- .github/workflows/gradle.yml | 8 ++++---- .pre-commit-config.yaml | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/gradle-nightly-tests.yml b/.github/workflows/gradle-nightly-tests.yml index ab9bf2777e..307fa14073 100644 --- a/.github/workflows/gradle-nightly-tests.yml +++ b/.github/workflows/gradle-nightly-tests.yml @@ -41,7 +41,7 @@ jobs: go install github.com/consensys/go-corset/cmd/go-corset@latest - name: Run Nightly tests - run: GOMEMLIMIT=196GiB ./gradlew nightlyTests + run: GOMEMLIMIT=100GiB ./gradlew nightlyTests env: JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index e46048e050..093d7c73f2 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -144,18 +144,18 @@ jobs: go install github.com/consensys/go-corset/cmd/go-corset@latest - name: Run unit tests - run: GOMEMLIMIT=32GiB ./gradlew :arithmetization:test + run: GOMEMLIMIT=20GiB ./gradlew :arithmetization:test env: JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable - GOCORSET_FLAGS: -wd --ansi-escapes=false --report --air + GOCORSET_FLAGS: -b1024 -wd --ansi-escapes=false --report --air - name: Run replay tests - run: GOMEMLIMIT=32GiB ./gradlew :arithmetization:fastReplayTests + run: GOMEMLIMIT=20GiB ./gradlew :arithmetization:fastReplayTests env: JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable - GOCORSET_FLAGS: -wd --ansi-escapes=false --report --air + GOCORSET_FLAGS: -b1024 -wd --ansi-escapes=false --report --air - name: Upload test report if: always() diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f14be89ba6..c345a28778 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,18 +9,16 @@ repos: - id: check-yaml - id: check-xml - repo: https://github.com/commitizen-tools/commitizen - rev: v3.5.3 + rev: v3.29.1 hooks: - id: commitizen stages: [ commit-msg ] - repo: https://github.com/jguttman94/pre-commit-gradle rev: v0.3.0 # Use the ref you want to point at hooks: - - id: gradle-check - args: [ "--wrapper", "--output" ] - id: gradle-spotless args: [ "--wrapper", "--output" ] - repo: https://github.com/executablebooks/mdformat - rev: 0.7.14 + rev: 0.7.17 hooks: - id: mdformat From ad4d049ec9335644af20646a7004a479f9820253 Mon Sep 17 00:00:00 2001 From: DavePearce Date: Tue, 8 Oct 2024 15:56:49 +0100 Subject: [PATCH 3/4] Tweak CI Pipeline Config This tweaks the CI pipline configuration for `go-corset` to try and get some better settings. Also, moves a test which doesn't pass into the nightly tests (since these are run on a larger machine). --- .github/workflows/gradle.yml | 4 ++-- .../java/net/consensys/linea/replaytests/NightlyTests.java | 5 +++++ .../java/net/consensys/linea/replaytests/ReplayTests.java | 5 ----- gradle/tests.gradle | 1 - 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 093d7c73f2..31448819ab 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -144,14 +144,14 @@ jobs: go install github.com/consensys/go-corset/cmd/go-corset@latest - name: Run unit tests - run: GOMEMLIMIT=20GiB ./gradlew :arithmetization:test + run: GOMEMLIMIT=26GiB ./gradlew :arithmetization:test env: JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable GOCORSET_FLAGS: -b1024 -wd --ansi-escapes=false --report --air - name: Run replay tests - run: GOMEMLIMIT=20GiB ./gradlew :arithmetization:fastReplayTests + run: GOMEMLIMIT=26GiB ./gradlew :arithmetization:fastReplayTests env: JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable diff --git a/arithmetization/src/test/java/net/consensys/linea/replaytests/NightlyTests.java b/arithmetization/src/test/java/net/consensys/linea/replaytests/NightlyTests.java index 7c00cdd7c2..c85dd893ad 100644 --- a/arithmetization/src/test/java/net/consensys/linea/replaytests/NightlyTests.java +++ b/arithmetization/src/test/java/net/consensys/linea/replaytests/NightlyTests.java @@ -22,6 +22,11 @@ @Tag("nightly") public class NightlyTests { + @Test + void leoFailingRange() { + replay(LINEA_MAINNET, "5389571-5389577.json.gz"); + } + // Leo's range split up 5104800-5104883 /////////////////////////////////////// @Test diff --git a/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java b/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java index aed8605f18..ba0b84e067 100644 --- a/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java +++ b/arithmetization/src/test/java/net/consensys/linea/replaytests/ReplayTests.java @@ -51,11 +51,6 @@ void bulkReplay() { // bulkReplay(LINEA_MAINNET, ""); } - @Test - void leoFailingRange() { - replay(LINEA_MAINNET, "5389571-5389577.json.gz"); - } - // @Disabled @Test void failingMmuModexp() { diff --git a/gradle/tests.gradle b/gradle/tests.gradle index 072af11b88..0a43b0dda2 100644 --- a/gradle/tests.gradle +++ b/gradle/tests.gradle @@ -190,4 +190,3 @@ tasks.register("weeklyTests", Test) { includeTags("weekly") } } - From a8353c1cc541b32de7321571f1efad184ac25873 Mon Sep 17 00:00:00 2001 From: DavePearce Date: Thu, 10 Oct 2024 07:47:56 +0100 Subject: [PATCH 4/4] Fix nightly test This fixes the failing nightly test `issue_1216_mainnet_2321460_2321556` by marking it `@Disabled`. This test seems to use too much RAM for `go-corset` on the CI machine. --- .../java/net/consensys/linea/replaytests/Issue1216Tests.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arithmetization/src/test/java/net/consensys/linea/replaytests/Issue1216Tests.java b/arithmetization/src/test/java/net/consensys/linea/replaytests/Issue1216Tests.java index e022b51172..38514d60ac 100644 --- a/arithmetization/src/test/java/net/consensys/linea/replaytests/Issue1216Tests.java +++ b/arithmetization/src/test/java/net/consensys/linea/replaytests/Issue1216Tests.java @@ -20,6 +20,7 @@ import net.consensys.linea.zktracer.module.hub.AccountSnapshot; import net.consensys.linea.zktracer.module.hub.Hub; import org.hyperledger.besu.datatypes.Address; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -41,6 +42,7 @@ public class Issue1216Tests { * blowing up with a NPE since the "after" version of the self destructor didn't exist yet in the * code. This was solved in issue #1216. */ + @Disabled @Tag("nightly") @Tag("replay") @Test