alexcrichton commented on issue #736:
Lightbeam was removed in https://github.com/bytecodealliance/wasmtime/pull/3390 as explained in RFC 14, so I'm going to close this.
alexcrichton closed issue #736:
Issue description
A call to
debug_assert_eq
make lightbeam to panic when compiled in debug mode.$ ./target/debug/debug_lightbeam debug_assert_type_min.wasm thread 'main' panicked at 'assertion failed: `(left == right)` left: `Int(_32)`, right: `Int(_64)`', XXX/wasmtime/crates/lightbeam/src/microwasm.rs:1443:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
This issue is related to the following piece of code:
Reproduction
Download: debug_assert_type_min.zip
or
wasm2wat --enable-sign-extension debug_assert_type_min.wasm
:(module (type (;0;) (func)) (func (;0;) (type 0) i64.const 0 i64.extend8_s i64.extend16_s unreachable) (memory (;0;) 1 1) (export "inc" (func 0)) (start 0))
Testing program (need to be compiled in debug mode i.e.
RUSTFLAGS=-g cargo build
):use std::env; use std::fs::{File}; use std::io; use std::io::Read; use std::path::PathBuf; use wasmtime_fuzzing::oracles; use wasmtime_jit::CompilationStrategy; use lightbeam; /// Read the contents of a file fn read_contents(path: &PathBuf) -> Result<Vec<u8>, io::Error> { let mut buffer: Vec<u8> = Vec::new(); let mut file = File::open(path)?; file.read_to_end(&mut buffer)?; drop(file); Ok(buffer) } fn main() { let args: Vec<String> = env::args().collect(); let wasm_path = std::path::PathBuf::from(&args[1]); let wasm_binary: Vec<u8> = read_contents(&wasm_path).unwrap(); let _res_compile = oracles::compile(&wasm_binary[..], CompilationStrategy::Lightbeam); let _res_instantiate = oracles::instantiate(&wasm_binary[..], CompilationStrategy::Lightbeam); let _res_translate = lightbeam::translate(&wasm_binary[..]); }
wasmtime commit: 31472fbb5a6417ea3d9eb10417ff5ea49712998a
Last updated: Nov 22 2024 at 16:03 UTC