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

Investigate go-corset and leoFailingRange on CI Server #1373

Closed
DavePearce opened this issue Oct 4, 2024 · 2 comments
Closed

Investigate go-corset and leoFailingRange on CI Server #1373

DavePearce opened this issue Oct 4, 2024 · 2 comments
Assignees
Labels

Comments

@DavePearce
Copy link
Collaborator

For reasons unknown, go-corset fails on the CI server for leoFailingRange when the zkevm.bin is compiled with corset version 9.7.14. The failure looks like some kind of resource limit is reached. For example, most likely, it is memory. In contract, corset itself passes this test without trouble. Despite this, go-corset passes that test easily on a laptop machine using a modest amount of memory (~25Gb). After a lot of investigation, no obvious explanation was found. Things investigated include:

  • Tweaking the GOMEMLIMIT
  • Tweaking the gradle config parameter maxParallelForks
  • Using REPLAY_TESTS_PARALLELISM: 1 in the workflow file for go-corset-tests.
  • Tweaking the batch size for go-corset.

Some things I didn't try yet include:

  • Tweaking GOMAXPROCS to limit number of CPUs available to go.
@DavePearce
Copy link
Collaborator Author

@gauravahuja Be interested if you have any thoughts on this.

@DavePearce
Copy link
Collaborator Author

Ok, so there is one explanation for the different between Rust corset and Go corset. Its not a fair fight!! Specifically, we are currently using these flags:

  • CORSET_FLAGS: fields,expand,expand,expand

But, we should be using these flags (to properly check with corset)

  • CORSET_FLAGS: fields,expand,expand,expand,expand,auto

In contrast, go-corset uses the flag --air which is equivalent to the latter flags (i.e. the full set).

This probably explains why corset was not so affected by the changes in the zkevm.bin brought about by using corset version 9.7.14 (compared with the older version 9.7.13)

@DavePearce DavePearce self-assigned this Oct 4, 2024
@DavePearce DavePearce linked a pull request Oct 7, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant