Stream: git-wasmtime

Topic: wasmtime / issue #13507 Timer regression v44 => v45 for z...


view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 09:49):

ignatz edited issue #13507:

Test Case

Sorry for not offering a trivial repro, my setup is a bit more convoluted :hide:

I'm using wstd to write async WASM code, which hasn't changed lately. However upgrading to v45, my async rust code:

Timer::after(Duration::from_nanos(0)).wait().await;

used to work on v44. Now the continuation never runs. Just waiting for 1 nanosecond instead of 0 fixes the issue.

I suspect this is a regression in wasmtime itself.

Steps to Reproduce

yield for a 0-delay

Expected Results

continuation runs right away or after completing some other tasks firs..., as long as it runs eventually

Actual Results

crickets

Versions and Environment

v45

Operating system: TODO

lunix

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 09:49):

ignatz edited issue #13507:

Test Case

Sorry for not offering a trivial repro, my setup is a bit more convoluted :hide:

I'm using wstd to write async WASM code, which hasn't changed lately. However upgrading to v45, my async rust code:

Timer::after(Duration::from_nanos(0)).wait().await;

used to work on v44. Now the continuation never runs. Just waiting for 1 nanosecond instead of 0 fixes the issue.

I suspect this is a regression in wasmtime itself.

Steps to Reproduce

yield for a 0-delay

Expected Results

continuation runs right away or after completing some other tasks firs..., as long as it runs eventually

Actual Results

crickets

Versions and Environment

v45

Operating system:

lunix

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 09:50):

ignatz edited issue #13507:

Test Case

Sorry for not offering a trivial repro, my setup is a bit more convoluted :hide:

I'm using wstd to write async WASM code, which hasn't changed lately (neither my code nor wstd). However upgrading to v45, my async rust code that used to work:

Timer::after(Duration::from_nanos(0)).wait().await;

now hangs. The continuation never runs. Just waiting for 1 nanosecond instead of 0 fixes the issue.

I suspect this is a regression in wasmtime itself.

Steps to Reproduce

yield for a 0-delay

Expected Results

continuation runs right away or after completing some other tasks firs..., as long as it runs eventually

Actual Results

crickets

Versions and Environment

v45

Operating system:

lunix

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 14:35):

alexcrichton commented on issue #13507:

Thanks for the report, but without a reproduction we're unlikely to be able to fix this. If you're able to perform a bisection on your end that'd probably help too, but in isolation just this as an issue report doesn't have much actionable.

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 14:43):

ignatz commented on issue #13507:

That's fair and maybe I'll cook something up. I was hoping you guys had tests for timers and could ensure that the edge case of zero is covered. Otherwise, it's fair to just consider this a whitness report that behavior has changed v44 - > v45

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 15:34):

alexcrichton commented on issue #13507:

https://github.com/bytecodealliance/wasmtime/pull/13085 is the likely culprit here insofar as that changed behavior around zero-length sleeps, but we're not aware of any bugs with that and I don't know how that would lead to the behavior here. It may mean a bug in Wasmtime, it may mean a bug in wtd, or it may mean a bug in your code. Without a reproduction it's tough to say.

view this post on Zulip Wasmtime GitHub notifications bot (May 29 2026 at 18:59):

ignatz commented on issue #13507:

https://github.com/ignatz/wasmtime-v45-timer-issue/blob/main/src/main.rs

instructions: https://github.com/ignatz/wasmtime-v45-timer-issue/blob/main/README.md

Thanks for looking into this :folded_hands:


Last updated: Jun 01 2026 at 09:49 UTC