Stream: git-wasmtime

Topic: wasmtime / issue #14588 Winch incorrectly reports an out-...


view this post on Zulip Wasmtime GitHub notifications bot (Oct 06 2026 at 20:33):

alexcrichton opened issue #14588:

This input:

(module
  (memory 1)
  (func (export "store") (param i32 i32)
    local.get 0
    local.get 1
    i32.store)
  (func (export "load") (param i32) (result i32)
    local.get 0
    i32.load)
)
(assert_return (invoke "store" (i32.const 0) (i32.const 42)))
(assert_return (invoke "load" (i32.const 0)) (i32.const 42))
(assert_trap (invoke "load" (i32.const 65533)) "out of bounds")

(module
  (memory 2)
  (func (export "load") (param i32) (result i32)
    local.get 0
    i32.load offset=70000))
(assert_return (invoke "load" (i32.const 0)) (i32.const 0))

fails with:

$ wasmtime wast repro.wast -Ccompiler=winch -Omemory-may-move=n,memory-reservation=0
Error: failed to run script file 'repro.wast'

Caused by:
    0: failed directive on repro.wast:17
    1: error while executing at wasm backtrace:
    0:     0x3a - wasm-function[0]
                    at ./repro.wast:12:5
    2: wasm trap: out of bounds memory access

view this post on Zulip Wasmtime GitHub notifications bot (Oct 06 2026 at 20:33):

alexcrichton added the winch label to Issue #14588.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 06 2026 at 21:02):

saulecabrera commented on issue #14588:

Looking into this.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 01:02):

alexcrichton added the bug label to Issue #14588.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 11 2026 at 00:17):

alexcrichton closed issue #14588:

This input:

(module
  (memory 1)
  (func (export "store") (param i32 i32)
    local.get 0
    local.get 1
    i32.store)
  (func (export "load") (param i32) (result i32)
    local.get 0
    i32.load)
)
(assert_return (invoke "store" (i32.const 0) (i32.const 42)))
(assert_return (invoke "load" (i32.const 0)) (i32.const 42))
(assert_trap (invoke "load" (i32.const 65533)) "out of bounds")

(module
  (memory 2)
  (func (export "load") (param i32) (result i32)
    local.get 0
    i32.load offset=70000))
(assert_return (invoke "load" (i32.const 0)) (i32.const 0))

fails with:

$ wasmtime wast repro.wast -Ccompiler=winch -Omemory-may-move=n,memory-reservation=0
Error: failed to run script file 'repro.wast'

Caused by:
    0: failed directive on repro.wast:17
    1: error while executing at wasm backtrace:
    0:     0x3a - wasm-function[0]
                    at ./repro.wast:12:5
    2: wasm trap: out of bounds memory access


Last updated: Oct 11 2026 at 04:10 UTC