powdr-labs / powdr

A modular stack for zkVMs, with a focus on productivity, security and performance.
Apache License 2.0
416 stars 82 forks source link

do not observe machines that were removed at runtime #2127

Closed leonardoalt closed 1 week ago

Schaeff commented 1 week ago

I wonder if a similar change should happen in the verifier?

leonardoalt commented 1 week ago

I wonder if a similar change should happen in the verifier?

If I understand it correctly that's already done!

https://github.com/powdr-labs/powdr/blob/main/plonky3/src/verifier.rs#L165

In here, a None get(name) propagates to failing the if Some, afaiu.

georgwiese commented 1 week ago

Just checked why this didn't happen in the test I added in #2078 (test_data/asm/block_to_block_empty_submachine.asm). It's because the removed machine doesn't have any fixed columns (after the optimizer run). In Arith, you could change the latch to col fixed latch = [0, 1]*; to provoke the bug. Maybe with a comment :) Could be better than increasing the chunk count of Fibonacci.

leonardoalt commented 1 week ago

Where in Arith? Not sure we should change std machines just to test this.

georgwiese commented 1 week ago

I mean the machine called Arith in test_data/asm/block_to_block_empty_submachine.asm, not the std one. Just opened #2133.