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
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
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
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.
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
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.
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