oxidecomputer / oxidecomputer/humility
Looks like we're resuming the target during snapshots again
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 584
- Forks
- 63
- Avg merge
- 3h
- Merged PRs (30d)
- 2
Description
I was on Mastodon trumpeting the fact that Humility mostly works with my keyboard when I noticed...a party pooper.
It's subtle, but: see how scanner has its timer set for T+10?
scanner always sets its timer for T+1. It sleeps for one millisecond at a time.
So why would Humility show it with a timer set for T+10? Because Humility captures the system time early in the process (see where it's printed up top) and uses that value to compare to task timers. The T+10 means that it's resumed the target for 9 ms during the task snapshot process, generating an inconsistent snapshot.
I can reproduce inconsistent snapshots here pretty reliably -- for instance, getting output where no tasks are running despite being runnable (the idle task, at least, should show as running!).
This suggests to me that the issue where we're not reliably halting during snapshots has regressed. 😢
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the task snapshot process and the code where the captured system time is printed and compared with task timers. Reproduce the inconsistent snapshot described in the issue, then verify that the target remains halted throughout snapshot capture and that task timer values and runnable-task state are consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100