Skip to content

fix(runtime): linking, call_indirect, and exception handling execution failures #149

Description

@avrabe

Problem

Several categories of runtime execution failures remain, totaling ~1,500+ assertion failures.

Breakdown

Category Assertions Description
assert_return failures ~1,533 Various execution results don't match expected values
assert_trap failures ~310 Traps not triggered or wrong trap type
assert_unlinkable ~235 Linking validation too permissive
cross-instance call_indirect ~109 call_indirect across module instances fails
out of bounds memory access ~145 Memory access traps not properly triggered
GC instructions not implemented ~196 GC instructions (array., struct., ref_cast, etc.)
SIMD execution ~112 SIMD operations produce wrong results
Exception handling ~37 try_table/throw/throw_ref execution issues
Unknown instruction opcode ~18 Some instructions not decoded (br_on_null, call_ref, etc.)

Key areas for impact

  1. cross-instance call_indirect (109 failures): Function table sharing across instances
  2. assert_unlinkable (235 failures): Import/export type compatibility checking at link time
  3. Memory access traps (145 failures): Bounds checking in load/store operations
  4. GC instructions (196 failures): array.get, struct.get, ref.cast, etc.

Files

  • kiln-runtime/src/ — execution engine
  • kiln-engine/src/ — instruction dispatch
  • kiln-build-core/src/wast_executor.rs — test execution harness (linking, instantiation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions