titzer/wizard-engine

call_indirect and `-tv` tracing command

peteryongzhong opened this issue · 1 comments

Hey, I am not sure if I am just completely doing something wrong but I seem to be having some issues with the -tv tracing command with call_indirect.

Specially I get the print out:

validate(expr: [] -> [i32])
Exception in thread "main" java.lang.NullPointerException: Cannot read field "orig_bytecode" because "<parameter3>" is null
        at V3C_InstrTracer.putPcAndInstr(Unknown Source)

.......

To reproduce, I used this wat file and compiled it to the byte code format using wat2wasm:

(module
  (type (;0;) (func))
  (func (;0;) (type 0)
    call 2)
  (func (;1;) (type 0)
    nop)
  (func (;2;) (type 0)
    i32.const 1
    call_indirect (type 0))
  (table (;0;) 3 3 funcref)
  (export "main" (func 0))
  (export "_start" (func 2))
  (elem (;0;) (i32.const 0) func 1 1 1))

The version is Wizard Engine 24α.2222 on M1 using the JVM.

PTAL, I fixed an NCE in that area.