You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Which reports 2 failures. I didn't dig too deep into the source of the fault, but the test does call Timers::oneshot() => Timers::periodic(). When it fails, it fails on the very first iteration of the test too from what I have observed (could be a coincidence).
@MagnusS Introducing a way to repeat tests to detect these sporadic failures is probably a good idea.
Here is a exhibit from osdev about the oneshot mode:
The disadvantages are that it's harder to track real-time with one-shot mode and special care
needs to be taken to avoid race conditions; especially if a new count is set before the old count expires.
Could you please demo the issue here? What does the failure look like? Is it an assert failure?
@torgeiru It just times out, from what I've seen. I'd have to find a reproducible to spawn the bug to tell with certainty where and when it fails. Were you unable to reproduce it through repeated testing as I did?
Activity
fwsGonzo commentedon Nov 1, 2025
During startup the APIC timer resolution is being calculated using the PIT timer, which has a known frequency. It might be related.
mazunki commentedon Nov 2, 2025
Interesting. Any ideas on how to confirm that's the issue?
torgeiru commentedon Nov 3, 2025
Personally didn't have any issue with this,
Here is a exhibit from osdev about the oneshot mode:
Could you please demo the issue here? What does the failure look like? Is it an assert failure?
mazunki commentedon Nov 8, 2025
@torgeiru It just times out, from what I've seen. I'd have to find a reproducible to spawn the bug to tell with certainty where and when it fails. Were you unable to reproduce it through repeated testing as I did?
torgeiru commentedon Nov 9, 2025
I was unable to reproduce and I used the script you provided to run test multiple times.