Stream: git-wasmtime

Topic: wasmtime / issue #8904 wasmtime panic with .NET 9.0 WASI ...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 05 2024 at 19:48):

CryZe added the bug label to Issue #8904.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 05 2024 at 19:48):

CryZe opened issue #8904:

Test Case

net9_debug_crash.zip

Steps to Reproduce

Configure the engine the following way:

let mut engine_config = wasmtime::Config::new();

engine_config
    .cranelift_opt_level(OptLevel::Speed)
    .debug_info(true)
    .wasm_backtrace_details(WasmBacktraceDetails::Enable)
    .epoch_interruption(true);

let engine = Engine::new(&engine_config).unwrap();

Module::from_binary(&engine, module).unwrap();

Expected Results

It compiles the module.

Actual Results

It panics:

thread 'main' panicked at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\attr.rs:119:59:
index out of bounds: the len is 1 but the index is 1
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:652
   1: core::panicking::panic_fmt
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:72
   2: core::panicking::panic_bounds_check
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:275
   3: wasmtime_cranelift::debug::transform::attr::clone_die_attributes<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian> >
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\attr.rs:119
   4: wasmtime_cranelift::debug::transform::unit::clone_unit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian> >
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\unit.rs:478
   5: wasmtime_cranelift::debug::transform::transform_dwarf
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\mod.rs:200
   6: wasmtime_cranelift::debug::write_debuginfo::emit_dwarf
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\write_debuginfo.rs:185
   7: wasmtime_cranelift::compiler::impl$3::append_dwarf
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\compiler.rs:487
   8: wasmtime::compile::FunctionIndices::link_and_append_code
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile.rs:740
   9: wasmtime::compile::build_artifacts<wasmtime::compile::runtime::MmapVecWrapper>
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile.rs:100
  10: wasmtime::compile::code_builder::CodeBuilder::compile_cached<tuple$<wasmtime_environ::module_artifacts::CompiledModuleInfo,wasmtime_environ::module_types::ModuleTypes> >
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile\runtime.rs:64
  11: wasmtime::compile::code_builder::CodeBuilder::compile_module
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile\runtime.rs:82
  12: wasmtime::runtime::module::Module::from_binary
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\runtime\module.rs:323

Versions and Environment

Wasmtime version or commit: 22.0.0

Operating system: Windows 11

Architecture: x86_64

view this post on Zulip Wasmtime GitHub notifications bot (Jul 08 2024 at 18:11):

alexcrichton closed issue #8904:

Test Case

net9_debug_crash.zip

Steps to Reproduce

Configure the engine the following way:

let mut engine_config = wasmtime::Config::new();

engine_config
    .cranelift_opt_level(OptLevel::Speed)
    .debug_info(true)
    .wasm_backtrace_details(WasmBacktraceDetails::Enable)
    .epoch_interruption(true);

let engine = Engine::new(&engine_config).unwrap();

Module::from_binary(&engine, module).unwrap();

Expected Results

It compiles the module.

Actual Results

It panics:

thread 'main' panicked at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\attr.rs:119:59:
index out of bounds: the len is 1 but the index is 1
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:652
   1: core::panicking::panic_fmt
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:72
   2: core::panicking::panic_bounds_check
             at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:275
   3: wasmtime_cranelift::debug::transform::attr::clone_die_attributes<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian> >
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\attr.rs:119
   4: wasmtime_cranelift::debug::transform::unit::clone_unit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian> >
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\unit.rs:478
   5: wasmtime_cranelift::debug::transform::transform_dwarf
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\transform\mod.rs:200
   6: wasmtime_cranelift::debug::write_debuginfo::emit_dwarf
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\debug\write_debuginfo.rs:185
   7: wasmtime_cranelift::compiler::impl$3::append_dwarf
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-cranelift-22.0.0\src\compiler.rs:487
   8: wasmtime::compile::FunctionIndices::link_and_append_code
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile.rs:740
   9: wasmtime::compile::build_artifacts<wasmtime::compile::runtime::MmapVecWrapper>
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile.rs:100
  10: wasmtime::compile::code_builder::CodeBuilder::compile_cached<tuple$<wasmtime_environ::module_artifacts::CompiledModuleInfo,wasmtime_environ::module_types::ModuleTypes> >
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile\runtime.rs:64
  11: wasmtime::compile::code_builder::CodeBuilder::compile_module
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\compile\runtime.rs:82
  12: wasmtime::runtime::module::Module::from_binary
             at C:\Users\cryze\.cargo\registry\src\index.crates.io-6f17d22bba15001f\wasmtime-22.0.0\src\runtime\module.rs:323

Versions and Environment

Wasmtime version or commit: 22.0.0

Operating system: Windows 11

Architecture: x86_64


Last updated: Nov 22 2024 at 16:03 UTC