-
Notifications
You must be signed in to change notification settings - Fork 710
Open
Description
Subject of the issue
I generated a test case and executed it with different runtimes. Wasmtime, Wasmer, Wasmedge, and WAMR's AOT mode all output an "out of bounds" exception. But, WAMR's JIT mode hangs.
Test case
(module
(type (;0;) (func (result i32 i64 f32 f64 v128 v128 v128 v128)))
(memory (;0;) 342 49801 shared)
(global (;0;) v128 v128.const i32x4 0x18196a16 0x9dce6de0 0xf71d9324 0x9dea14ff)
(global (;1;) (mut i64) i64.const 0)
(global (;2;) (mut i64) i64.const 0)
(export "main" (func 0))
(elem (;0;) declare func)
(func (;0;) (type 0) (result i32 i64 f32 f64 v128 v128 v128 v128)
memory.size
loop (result f64) ;; label = @1
global.get 0
i32x4.extract_lane 1
i64.load32_u offset=21927505 align=2
i64.const -4678713565707731950
br 0 (;@1;)
br 0 (;@1;)
i64.extend16_s
i64.sub
global.get 2
i64.xor
global.set 2
f64.const 0x1.39d28c830c265p-242 (;=0.00000000000000000000000000000000000000000000000000000000000000000000000017345431238823982;)
end
i64.reinterpret_f64
global.get 1
i64.xor
global.set 1
i64.const 1
f32.const -0x1.c75a6p+82 (;=-8601375500000000000000000;)
f64.const -nan:0xffffdffffffff (;=NaN;)
v128.const i32x4 0x11ae59b9 0xa6cb312b 0x89d8d104 0x75257b08
v128.const i32x4 0x00000000 0x20000000 0xffffffff 0xfbffffff
v128.const i32x4 0x5e65e5ab 0x358f28da 0x8e027f89 0xd551a012
v128.const i32x4 0x80000000 0xffffffff 0xffffdfff 0xffffffff
)
)
Your environment
- Host OS (Ubuntu 22.04)
- WAMR version (2.3.1), platform (Linux), cpu architecture (x86_64), running mode (JIT), etc.
Steps to reproduce
Run: iwasm --heap-size=0 --llvm-jit -f main test.wasm
Expected behavior
Should output "out of bounds" exception.
Actual behavior
Hangs
Extra Info
Can you please confirm? Thanks in advance.
Metadata
Metadata
Assignees
Labels
No labels