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

Can't prove program that uses add_mod builtin using the all_cairo layout #38

Open
mellowcroc opened this issue Oct 2, 2024 · 0 comments

Comments

@mellowcroc
Copy link

mellowcroc commented Oct 2, 2024

Reproduce steps:

cairo-compile \
  cairo_programs/mod_builtin_feature/proof/mod_builtin.cairo \
  --output=mod_builtin.json \
  --proof_mode
cairo-run \
  --program mod_builtin.json \
  --layout all_cairo \
  --trace_file mod_builtin.trace \
  --memory_file mod_builtin.memory \
  --air_public_input mod_builtin_public_input.json \
  --air_private_input mod_builtin_private_input.json \
  --proof_mode
  • run prover using the compiled program and generated public/private input files (these input files are attached below)
./cpu_air_prover mod_builtin.json \
  --out_file proof.json \
  --parameter_file cpu_air_params.json \
  --prover_config_file cpu_air_prover_config.json \
  --private_input_file mod_builtin_private_input.json \
  --public_input_file mod_builtin_public_input.json

Input files for prover

Expected result

Proof is successfully generated

Actual result

jason@ubuntu-32gb-ash-1:~/stone-prover$ ./cpu_air_prover mod_builtin.json --out_file proof.json --parameter_file cpu_air_params.json --prover_config_file cpu_air_prover_config.json --private_input_file mod_builtin_private_input.json --public_input_file mod_builtin_public_input.json 
terminate called after throwing an instance of 'starkware::StarkwareException'
  what():  src/starkware/air/components/trace_generation_context.cc:29: Virtual column 'add_mod/p0/addr' not found
Stack trace (most recent call last):
#15   Object "", at 0xffffffffffffffff, in 
#14   Object "/home/jason/stone-prover/cpu_air_prover", at 0x5d21ed, in _start
#13   Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ab8be82a28a, in __libc_start_main
#12   Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ab8be82a1c9, in 
#11   Object "/home/jason/stone-prover/cpu_air_prover", at 0x5d27d8, in main
#10   Object "/home/jason/stone-prover/cpu_air_prover", at 0x5d356a, in starkware::ProverMainHelper(starkware::Statement*, starkware::ProverVersion const&)
#9    Object "/home/jason/stone-prover/cpu_air_prover", at 0x5d6f76, in starkware::ProverMainHelperImpl(starkware::Statement*, starkware::JsonValue const&, starkware::JsonValue const&, starkware::JsonValue const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, starkware::ProverVersion const&)
#8    Object "/home/jason/stone-prover/cpu_air_prover", at 0x5eb92c, in starkware::StarkProver::ProveStark(std::unique_ptr<starkware::TraceContext, std::default_delete<starkware::TraceContext> >)
#7    Object "/home/jason/stone-prover/cpu_air_prover", at 0x7a8b62, in starkware::cpu::CpuAirTraceContext<starkware::PrimeFieldElement<252, 0>, 9>::GetTrace()
#6    Object "/home/jason/stone-prover/cpu_air_prover", at 0x7ab143, in starkware::cpu::CpuAir<starkware::PrimeFieldElement<252, 0>, 9>::GetTrace(gsl::span<starkware::cpu::TraceEntry<starkware::PrimeFieldElement<252, 0> > const>, starkware::MaybeOwnedPtr<starkware::cpu::CpuMemory<starkware::PrimeFieldElement<252, 0> > >, starkware::JsonValue const&) const
#5    Object "/home/jason/stone-prover/cpu_air_prover", at 0x7af2a0, in starkware::cpu::AddModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::AddModBuiltinProverContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, starkware::TraceGenerationContext const&, starkware::MemoryCell<starkware::PrimeFieldElement<252, 0> >*, unsigned long, unsigned long, unsigned long, unsigned long, std::map<unsigned long, starkware::cpu::ModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::Input, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, starkware::cpu::ModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::Input> > >)
#4    Object "/home/jason/stone-prover/cpu_air_prover", at 0x7b40b6, in starkware::cpu::ModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::ModBuiltinProverContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, starkware::TraceGenerationContext const&, starkware::MemoryCell<starkware::PrimeFieldElement<252, 0> >*, unsigned long, unsigned long, unsigned long, unsigned long, std::map<unsigned long, starkware::cpu::ModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::Input, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, starkware::cpu::ModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::Input> > > const&)
#3    Object "/home/jason/stone-prover/cpu_air_prover", at 0x7b5060, in starkware::cpu::ModBuiltinProverContext<starkware::PrimeFieldElement<252, 0>, 4ul>::InitValue(starkware::MemoryCell<starkware::PrimeFieldElement<252, 0> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, starkware::TraceGenerationContext const&)
#2    Object "/home/jason/stone-prover/cpu_air_prover", at 0x7687d3, in starkware::MemoryCellView<starkware::PrimeFieldElement<252, 0> >::MemoryCellView(starkware::MemoryCell<starkware::PrimeFieldElement<252, 0> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, starkware::TraceGenerationContext const&)
#1    Object "/home/jason/stone-prover/cpu_air_prover", at 0x13e126b, in starkware::TraceGenerationContext::GetVirtualColumn(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
#0    Object "/home/jason/stone-prover/cpu_air_prover", at 0x13e194f, in starkware::ThrowStarkwareException(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, unsigned long)

Aborted (core dumped)
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