philsippl / circom-witness-rs

MIT License
57 stars 13 forks source link

`Fr_toInt` overflows #16

Open vivianjeng opened 6 months ago

vivianjeng commented 6 months ago

Circuit:

Anon-adhaar verifier: https://github.com/oskarth/mopro/blob/b84d4423bd5c0b3d11292b5587d20124229fd630/mopro-core/examples/circom/anonAadhaar/aadhaar-verifier.circom#L111

Error message

Total input length: 1607
Total signal length: 1602
Main input signal no: 5
thread 'main' panicked at witness/src/field.rs:247:26:
called `Result::unwrap()` on an `Err` value: Overflow(256, 4891460686036598784, 18446744073709551615)
stack backtrace:
   0: rust_begin_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
   3: witness::field::Fr_toInt
   4: _cxxbridge1$Fr_toInt
   5: _Z19BigLessThan_119_runjP14Circom_CalcWit
             at /Users/zhengyawen/Documents/GitHub/mopro/witness/src/circuit.cc:202103:28
   6: _Z22RSAVerify65537_124_runjP14Circom_CalcWit
             at /Users/zhengyawen/Documents/GitHub/mopro/witness/src/circuit.cc:203339:1
   7: _Z23AadhaarVerifier_366_runjP14Circom_CalcWit
             at /Users/zhengyawen/Documents/GitHub/mopro/witness/src/circuit.cc:1509527:1
   8: _Z3runP14Circom_CalcWit
             at /Users/zhengyawen/Documents/GitHub/mopro/witness/src/circuit.cc:1509835:1
   9: cxxbridge1$run
             at /Users/zhengyawen/Documents/GitHub/mopro/target/release/build/witness-bc43ce4e137812d3/out/cxxbridge/sources/witness/src/generate.rs.cc:878:3
  10: witness::generate::build_witness
  11: generate_witness::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
libc++abi: terminating due to uncaught foreign exception
./scripts/prepare.sh: line 29: 51257 Abort trap: 6           RUST_BACKTRACE=1 WITNESS_CPP="$CIRCOM_DIR/$circuit_dir/$circuit_file" cargo run --package witness --bin generate-witness --release --features=build-witness

https://github.com/philsippl/circom-witness-rs/blob/fed7d591a4a6adfde371d3dac3fde23d755bcd39/src/field.rs#L167

ref: circuit.cc