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:
alexcrichton closed 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
ignatz commented on issue #13507:
Thanks :folded_hands:
QQ, i'm not familiar with your release process, are you planning to release a minor version?
alexcrichton commented on issue #13507:
Our release process documentation is here and we don't typically do this unless contributors do the backports themselves. If you'd like though this seems reasonable to me to backport to the 45.0.0 release branch
ignatz commented on issue #13507:
Thanks! You helped me big time, happy to help in any way I can: https://github.com/bytecodealliance/wasmtime/pull/13559
Last updated: Jul 29 2026 at 05:03 UTC