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

Handling Trace Expansion Errors from go-corset #198

Open
DavePearce opened this issue Oct 16, 2024 · 0 comments
Open

Handling Trace Expansion Errors from go-corset #198

DavePearce opened this issue Oct 16, 2024 · 0 comments

Comments

@DavePearce
Copy link

The prover is not properly handling error cases returned when go-corset fails in trace expansion.

Impact

I don't believe any users are affected at this time.

Describe the bug

In the file prover/zkevm/arithmetization/files.go, we have this sequence:

expTraces, errs := schema.NewTraceBuilder(sch).Build(rawTraces)
if len(errs) > 0 {
	logrus.Warnf("corset expansion gave the following errors: %v", errors.Join(errs...).Error())
}

return expTraces, nil

The problem is that, when len(errs) > 0 we have (or can have) expTraces == nil. This arises when go-corset believes it is unable to continue with trace expansion (typically because there is some column missing from the trace).

Steps to Reproduce

To reproduce this bug you need a constraint file which is missing one or more columns required by the constraints.

Actual result

The prover will panic

Expected result

The prover should fail gracefully.

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

No branches or pull requests

1 participant