abrown labeled Issue #1403:
- What are the steps to reproduce the issue?
cargo run --bin wasmtime -- run -g --enable-simd --disable-cache /codecbench-simd.wasm
- What do you expect to happen? What does actually happen? Does it panic, and if so, with which assertion?
thread 'main' panicked at 'assertion failed: `(left == right)` left: `1`, right: `0`', crates/debug/src/transform/expression.rs:330:13 stack backtrace: ... 12: std::panicking::begin_panic_fmt at src/libstd/panicking.rs:326 13: wasmtime_debug::transform::expression::compile_expression at crates/debug/src/transform/expression.rs:330 14: wasmtime_debug::transform::unit::clone_unit at crates/debug/src/transform/unit.rs:302 15: wasmtime_debug::transform::transform_dwarf at crates/debug/src/transform/mod.rs:90 16: wasmtime_debug::emit_debugsections_image at crates/debug/src/lib.rs:82 17: wasmtime_jit::compiler::Compiler::compile at crates/jit/src/compiler.rs:215 18: wasmtime_jit::instantiate::RawCompiledModule::new at crates/jit/src/instantiate.rs:83
- Which Wasmtime version / commit hash / branch are you using?
https://github.com/abrown/wasmtime/tree/additional-i8x16-shift
- If relevant, can you include some extra information about your environment? (Rust version, operating system, architecture...)
I built the attached Wasm file with
/opt/wasi-sdk/bin/clang++ tools/codecbench.cpp src/vertexcodec.cpp src/vertexfilter.cpp src/overdrawanalyzer.cpp src/indexgenerator.cpp src/vcacheoptimizer.cpp src/indexcodec.cpp src/vfetchanalyzer.cpp src/spatialorder.cpp src/clusterizer.cpp src/allocator.cpp src/vcacheanalyzer.cpp src/vfetchoptimizer.cpp src/overdrawoptimizer.cpp src/simplifier.cpp src/stripifier.cpp -O3 -DNDEBUG -g -fno-exceptions -Wl,--initial-memory=268435456 -msimd128 -o codecbench-simd.wasm
abrown opened Issue #1403:
- What are the steps to reproduce the issue?
cargo run --bin wasmtime -- run -g --enable-simd --disable-cache /codecbench-simd.wasm
- What do you expect to happen? What does actually happen? Does it panic, and if so, with which assertion?
thread 'main' panicked at 'assertion failed: `(left == right)` left: `1`, right: `0`', crates/debug/src/transform/expression.rs:330:13 stack backtrace: ... 12: std::panicking::begin_panic_fmt at src/libstd/panicking.rs:326 13: wasmtime_debug::transform::expression::compile_expression at crates/debug/src/transform/expression.rs:330 14: wasmtime_debug::transform::unit::clone_unit at crates/debug/src/transform/unit.rs:302 15: wasmtime_debug::transform::transform_dwarf at crates/debug/src/transform/mod.rs:90 16: wasmtime_debug::emit_debugsections_image at crates/debug/src/lib.rs:82 17: wasmtime_jit::compiler::Compiler::compile at crates/jit/src/compiler.rs:215 18: wasmtime_jit::instantiate::RawCompiledModule::new at crates/jit/src/instantiate.rs:83
- Which Wasmtime version / commit hash / branch are you using?
https://github.com/abrown/wasmtime/tree/additional-i8x16-shift
- If relevant, can you include some extra information about your environment? (Rust version, operating system, architecture...)
I built the attached Wasm file with
/opt/wasi-sdk/bin/clang++ tools/codecbench.cpp src/vertexcodec.cpp src/vertexfilter.cpp src/overdrawanalyzer.cpp src/indexgenerator.cpp src/vcacheoptimizer.cpp src/indexcodec.cpp src/vfetchanalyzer.cpp src/spatialorder.cpp src/clusterizer.cpp src/allocator.cpp src/vcacheanalyzer.cpp src/vfetchoptimizer.cpp src/overdrawoptimizer.cpp src/simplifier.cpp src/stripifier.cpp -O3 -DNDEBUG -g -fno-exceptions -Wl,--initial-memory=268435456 -msimd128 -o codecbench-simd.wasm
abrown edited Issue #1403:
- What are the steps to reproduce the issue?
cargo run -- run -g --enable-simd --disable-cache codecbench-simd.wasm
(see attached file at bottom)
- What do you expect to happen? What does actually happen? Does it panic, and if so, with which assertion?
thread 'main' panicked at 'assertion failed: `(left == right)` left: `1`, right: `0`', crates/debug/src/transform/expression.rs:330:13 stack backtrace: ... 12: std::panicking::begin_panic_fmt at src/libstd/panicking.rs:326 13: wasmtime_debug::transform::expression::compile_expression at crates/debug/src/transform/expression.rs:330 14: wasmtime_debug::transform::unit::clone_unit at crates/debug/src/transform/unit.rs:302 15: wasmtime_debug::transform::transform_dwarf at crates/debug/src/transform/mod.rs:90 16: wasmtime_debug::emit_debugsections_image at crates/debug/src/lib.rs:82 17: wasmtime_jit::compiler::Compiler::compile at crates/jit/src/compiler.rs:215 18: wasmtime_jit::instantiate::RawCompiledModule::new at crates/jit/src/instantiate.rs:83
- Which Wasmtime version / commit hash / branch are you using?
https://github.com/abrown/wasmtime/tree/additional-i8x16-shift
- If relevant, can you include some extra information about your environment? (Rust version, operating system, architecture...)
I built the attached Wasm file with
/opt/wasi-sdk/bin/clang++ tools/codecbench.cpp src/vertexcodec.cpp src/vertexfilter.cpp src/overdrawanalyzer.cpp src/indexgenerator.cpp src/vcacheoptimizer.cpp src/indexcodec.cpp src/vfetchanalyzer.cpp src/spatialorder.cpp src/clusterizer.cpp src/allocator.cpp src/vcacheanalyzer.cpp src/vfetchoptimizer.cpp src/overdrawoptimizer.cpp src/simplifier.cpp src/stripifier.cpp -O3 -DNDEBUG -g -fno-exceptions -Wl,--initial-memory=268435456 -msimd128 -o codecbench-simd.wasm
abrown commented on Issue #1403:
I think it is important to note that if I don't build
codecbench-simd.wasm
withclang++ ... -g ...
then I get the following:$ cargo run -- run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm Finished dev [unoptimized + debuginfo] target(s) in 0.07s Running `target/debug/wasmtime run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm` source: vertex data 32064032 bytes, index data 24000000 bytes pass 0: vertex data 18518385 bytes, index data 2332680 bytes Error: failed to run main module `../meshoptimizer/codecbench-simd.wasm` Caused by: 0: failed to invoke `_start` 1: wasm trap: out of bounds memory access, source location: @22a4 wasm backtrace: 0: <unknown>!meshopt::decodeVertexBlockSimd(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned long, unsigned char*) 1: <unknown>!meshopt_decodeVertexBuffer 2: <unknown>!benchCodecs(std::__2::vector<Vertex, std::__2::allocator<Vertex> > const&, std::__2::vector<unsigned int, std::__2::allocator<unsigned int> > const&) 3: <unknown>!__original_main 4: <unknown>!_startWhere the Wasm code for that offset is:
$ wasm-objdump -d ../meshoptimizer/codecbench-simd.wasm | grep -B5 -A5 22a4 002297: fd 06 00 | i8x16.extract_lane_u 0 00229a: 6a | i32.add 00229b: 20 17 | local.get 23 00229d: 41 f0 b0 80 80 00 | i32.const 6256 0022a3: 6a | i32.add >0022a4: 2d 00 00 | i32.load8_u 0 0 0022a7: 6a | i32.add 0022a8: 21 00 | local.set 0 0022aa: 0c 02 | br 2 0022ac: 0b | end 0022ad: 20 0f | local.get 15
abrown edited a comment on Issue #1403:
I think it is important to note that if I don't build
codecbench-simd.wasm
withoutclang++ ... -g ...
then I get the following:$ cargo run -- run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm Finished dev [unoptimized + debuginfo] target(s) in 0.07s Running `target/debug/wasmtime run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm` source: vertex data 32064032 bytes, index data 24000000 bytes pass 0: vertex data 18518385 bytes, index data 2332680 bytes Error: failed to run main module `../meshoptimizer/codecbench-simd.wasm` Caused by: 0: failed to invoke `_start` 1: wasm trap: out of bounds memory access, source location: @22a4 wasm backtrace: 0: <unknown>!meshopt::decodeVertexBlockSimd(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned long, unsigned char*) 1: <unknown>!meshopt_decodeVertexBuffer 2: <unknown>!benchCodecs(std::__2::vector<Vertex, std::__2::allocator<Vertex> > const&, std::__2::vector<unsigned int, std::__2::allocator<unsigned int> > const&) 3: <unknown>!__original_main 4: <unknown>!_startWhere the Wasm code for that offset is:
$ wasm-objdump -d ../meshoptimizer/codecbench-simd.wasm | grep -B5 -A5 22a4 002297: fd 06 00 | i8x16.extract_lane_u 0 00229a: 6a | i32.add 00229b: 20 17 | local.get 23 00229d: 41 f0 b0 80 80 00 | i32.const 6256 0022a3: 6a | i32.add >0022a4: 2d 00 00 | i32.load8_u 0 0 0022a7: 6a | i32.add 0022a8: 21 00 | local.set 0 0022aa: 0c 02 | br 2 0022ac: 0b | end 0022ad: 20 0f | local.get 15
abrown edited a comment on Issue #1403:
I think it is important to note that if I build
codecbench-simd.wasm
__without__clang++ ... -g ...
then I get the following:$ cargo run -- run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm Finished dev [unoptimized + debuginfo] target(s) in 0.07s Running `target/debug/wasmtime run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm` source: vertex data 32064032 bytes, index data 24000000 bytes pass 0: vertex data 18518385 bytes, index data 2332680 bytes Error: failed to run main module `../meshoptimizer/codecbench-simd.wasm` Caused by: 0: failed to invoke `_start` 1: wasm trap: out of bounds memory access, source location: @22a4 wasm backtrace: 0: <unknown>!meshopt::decodeVertexBlockSimd(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned long, unsigned char*) 1: <unknown>!meshopt_decodeVertexBuffer 2: <unknown>!benchCodecs(std::__2::vector<Vertex, std::__2::allocator<Vertex> > const&, std::__2::vector<unsigned int, std::__2::allocator<unsigned int> > const&) 3: <unknown>!__original_main 4: <unknown>!_startWhere the Wasm code for that offset is:
$ wasm-objdump -d ../meshoptimizer/codecbench-simd.wasm | grep -B5 -A5 22a4 002297: fd 06 00 | i8x16.extract_lane_u 0 00229a: 6a | i32.add 00229b: 20 17 | local.get 23 00229d: 41 f0 b0 80 80 00 | i32.const 6256 0022a3: 6a | i32.add >0022a4: 2d 00 00 | i32.load8_u 0 0 0022a7: 6a | i32.add 0022a8: 21 00 | local.set 0 0022aa: 0c 02 | br 2 0022ac: 0b | end 0022ad: 20 0f | local.get 15
yurydelendik closed Issue #1403:
- What are the steps to reproduce the issue?
cargo run -- run -g --enable-simd --disable-cache codecbench-simd.wasm
(see attached file at bottom)
- What do you expect to happen? What does actually happen? Does it panic, and if so, with which assertion?
thread 'main' panicked at 'assertion failed: `(left == right)` left: `1`, right: `0`', crates/debug/src/transform/expression.rs:330:13 stack backtrace: ... 12: std::panicking::begin_panic_fmt at src/libstd/panicking.rs:326 13: wasmtime_debug::transform::expression::compile_expression at crates/debug/src/transform/expression.rs:330 14: wasmtime_debug::transform::unit::clone_unit at crates/debug/src/transform/unit.rs:302 15: wasmtime_debug::transform::transform_dwarf at crates/debug/src/transform/mod.rs:90 16: wasmtime_debug::emit_debugsections_image at crates/debug/src/lib.rs:82 17: wasmtime_jit::compiler::Compiler::compile at crates/jit/src/compiler.rs:215 18: wasmtime_jit::instantiate::RawCompiledModule::new at crates/jit/src/instantiate.rs:83
- Which Wasmtime version / commit hash / branch are you using?
https://github.com/abrown/wasmtime/tree/additional-i8x16-shift
- If relevant, can you include some extra information about your environment? (Rust version, operating system, architecture...)
I built the attached Wasm file with
/opt/wasi-sdk/bin/clang++ tools/codecbench.cpp src/vertexcodec.cpp src/vertexfilter.cpp src/overdrawanalyzer.cpp src/indexgenerator.cpp src/vcacheoptimizer.cpp src/indexcodec.cpp src/vfetchanalyzer.cpp src/spatialorder.cpp src/clusterizer.cpp src/allocator.cpp src/vcacheanalyzer.cpp src/vfetchoptimizer.cpp src/overdrawoptimizer.cpp src/simplifier.cpp src/stripifier.cpp -O3 -DNDEBUG -g -fno-exceptions -Wl,--initial-memory=268435456 -msimd128 -o codecbench-simd.wasm
Last updated: Dec 23 2024 at 12:05 UTC