You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While executing the given testcase with wasmi and other runtime tools, the results are different.
Test Case
The given testcase was simply mutated a wasm file, which was obtained by compiling C program generated with Csmith using Emscripten Compiler(Emcc).
The original C program is c_file.c, the compilation results with Emscripten is wasm_file.wasm, and its wat format is wat_file.wat.
We mutated the wat file to change its i32.sub in line 12189 with i32.div_s, and change all the i32/i64.ge_u with i32/i64.le_s. The result after mutation is mutated_file.wat, and its wasm format is mutated_file.wasm.
I use some other runtime tools, such as wasmer, wasmtime, wasmedge and wasm-micro-runtime, to execute the same testcase. Wasmer and wasmtime outputs checksum = with runtime error caused by misaligned pointer, while wasmedge and wasm-micro-runtime outputs checksum = AF3BD5C3. The execution results of different runtime tools are shown in the following figure.
From the execution results, five different runtime tools obtained three different results while executing the same testcase. As I mentioned in issue #771, when wasmi encountered similar testcases before, it either output nothing or also output runtime errors caused by misaligned pointers. So I am not sure whether the behavior here is correct. Maybe this issue is the same as issue #771, and the detail still needs you to confirm. Thanks a lot!
The text was updated successfully, but these errors were encountered:
Describe the bug
While executing the given testcase with wasmi and other runtime tools, the results are different.
Test Case
The given testcase was simply mutated a wasm file, which was obtained by compiling C program generated with
Csmith
usingEmscripten Compiler
(Emcc).The original C program is
c_file.c
, the compilation results with Emscripten iswasm_file.wasm
, and its wat format iswat_file.wat
.We mutated the wat file to change its
i32.sub
in line 12189 withi32.div_s
, and change all thei32/i64.ge_u
withi32/i64.le_s
. The result after mutation ismutated_file.wat
, and its wasm format ismutated_file.wasm
.Actual Results
Expected Results
I use some other runtime tools, such as wasmer, wasmtime, wasmedge and wasm-micro-runtime, to execute the same testcase. Wasmer and wasmtime outputs
checksum =
withruntime error
caused bymisaligned pointer
, while wasmedge and wasm-micro-runtime outputschecksum = AF3BD5C3
. The execution results of different runtime tools are shown in the following figure.From the execution results, five different runtime tools obtained three different results while executing the same testcase. As I mentioned in issue #771, when wasmi encountered similar testcases before, it either output nothing or also output runtime errors caused by
misaligned pointers
. So I am not sure whether the behavior here is correct. Maybe this issue is the same as issue #771, and the detail still needs you to confirm. Thanks a lot!The text was updated successfully, but these errors were encountered: