reference to undefined variable causes 'runtime stack empty' panic in tvix-repl
#253
Opened by bergkvist at
How to reproduce:
# Run this inside tvix project $ cargo build --release && RUST_BACKTRACE=1 ./target/release/tvix --expr "a"
Output:
thread 'main' panicked at 'runtime stack empty', eval/src/vm.rs:265:26 stack backtrace: 0: rust_begin_unwind at /rustc/d6f99e535a301a421dfee52a7c25bb4bdf420344/library/std/src/panicking.rs:575:5 1: core::panicking::panic_fmt at /rustc/d6f99e535a301a421dfee52a7c25bb4bdf420344/library/core/src/panicking.rs:64:14 2: core::panicking::panic_display at /rustc/d6f99e535a301a421dfee52a7c25bb4bdf420344/library/core/src/panicking.rs:136:5 3: core::panicking::panic_str at /rustc/d6f99e535a301a421dfee52a7c25bb4bdf420344/library/core/src/panicking.rs:120:5 4: core::option::expect_failed at /rustc/d6f99e535a301a421dfee52a7c25bb4bdf420344/library/core/src/option.rs:1923:5 5: tvix_eval::vm::run_lambda 6: tvix_eval::Evaluation::evaluate 7: tvix::interpret 8: tvix::main note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
- bergkvist updated the body of this issue at 2023-02-12T17·33+00
This is very curious. Initially I thought this is related to b/238, but it's something else. I bisected, and we introduced this bug in cl/7763. It must be something related to accidentally discarding an error from the compiler, investigating.
tazjin at 2023-02-13T07·49+00
Fix is in cl/8090.
In the commit referenced above, a branch was missing that accidentally ignored some compiler errors (such as unknown static variables).
tazjin at 2023-02-13T08·08+00
Thanks for reporting this, it's fixed!
tazjin at 2023-02-14T09·36+00
- tazjin closed this issue at 2023-02-14T09·36+00