-
Notifications
You must be signed in to change notification settings - Fork 322
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
BB Prover Error in 'MemBn254CrsFactory' #8745
Comments
@lucasxia01 this looks related to AztecProtocol/barretenberg#1097 |
Yea, it looks related. I can bump things up for now... maybe won't investigate until later when I optimize the SRS. |
Can you use an old version of bb in the meantime until this fix comes in? |
Thank you for looking into this! Just out of curiosity, could you explain what the bug is? |
Not sure what the bug is, but I'll update you once I look into it. |
It seems to be a mismatch of gate counting. We estimate fewer gates when we generate the SRS than we should be, so we don't store enough points for when we want to commitment to polynomials. It's unclear to me how this problem is arising now. Have you tried older versions and gotten the same issue? |
For older versions of |
I also found a "much" older version use dep::std;
pub fn main(input : Field) -> pub Field {
let mut output : Field = 0;
output = input;
let zero = 0;
let b1 : [u8] = zero.to_be_bytes(32);
let b2 : [u8] = input.to_be_bytes(32);
let mut b3 : [u8; 32] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for i in 0..32 {
b3[i] = (b1[i] | b2[i]);
}
assert(!(0 == std::field::bytes32_to_field(b3)), "example assertion");
output
} Maybe it has something to do with the change of |
For the same adapted program, I get an error for versions
I believe these are all the versions I could quickly find on my machine, hope it helps! |
I believe what ever was done in this noir commit fixes this issue (pin-pointed using Oldest version that works:
I also tested it with @lucasxia01 do you want to keep the issue open or is it resolved from your side? |
Ah, I would doubt that actually fixed the underlying issue; I think it probably changed the gate counts so that it no longer ran into this edge case. However, I did push a commit last week that should have resolved any weird gate counting discrepancy issues, so I'm hopeful the issue is actually resolved. This fix would be in bb 0.58.0 I think. I think we can close this issue though. |
I will check it against one of the previously failing |
Ok it seems that #9046 has now actually fixed it :)
|
Hello,
I was asked to also open an issue here because the following behavior might be prover related. (original issue on the noir github project)
Original
I tried to execute and prove following toy noir program and input using the
bb
-prover:I used following commands and got following output:
I used
nargo version 0.34.0
andbb version 0.55.0
Addition Info
Following code is an even more minimal example with the same behavior:
It was mentioned in this comment of the original issue.
The text was updated successfully, but these errors were encountered: