Dig into potential issue with tokio start_paused
Opened this issue · 0 comments
sunshowers commented
In oxidecomputer/omicron#2654 we found that a test with tokio::test(start_paused = true)
that consistently worked on Linux was flaky on illumos.
Note that start_paused = true
runs tokio in a mode where timers are paused, and auto-advance. Since all this code uses Tokio, pausing and auto-advancing timers should work in theory -- there's no reason for any of these operations to be tied to system timers.
This could be any of the following:
- an omicron code difference between Linux and illumos (though the test doesn't use any illumos-specific features and is completely OS-independent -- it uses MGS talking to sp-sim).
- a scheduler difference on illumos compared to Linux
- a Tokio difference between illumos on Linux
- a bug in Tokio