-
Notifications
You must be signed in to change notification settings - Fork 174
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
Better error reporting for when memory accesses break the range check #833
Comments
One way to fix this is to just set a hard limit on memory address - i.e., valid memory addresses can be in the range between |
If we do this, then we know that a memory pointer can not be a u64, and we can start using |
I do think this will enable some optimizations, but I'm not sure the above case applies. Since absolute position is not a memory address, we can use a full field element to represent it, and since we describe the whole MMR with just its roots, we'll actually never have to use more than a few dozen memory addresses to describe an MMR. |
Makes sense, that basically means there will never be some sort of memory mapping going on, and values would be lazily loaded. |
Closed by #1049 |
The following program works:
the following fails:
As explained to me by @bobbinth , this happens because at the end of the program execution, the gap between used memory addresses must be at most
2**32
(order is not important). The issue is that testing the above gives simplynot a 32-bit value
, and whenrun
ing orprove
ing with the release binary there is no reporting, which makes debugging this issue harder. The issue is to improve the error reporting so if someone encounters the issue, it is easy to tell what happened.The text was updated successfully, but these errors were encountered: