oxidecomputer / oxidecomputer/crucible

Verify if `InProgress()` returning `None` IOs ever end up in `io_send()`.

Open
#760 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
260
Forks
34
Avg merge
2d 1h
Merged PRs (30d)
8

Description

Verify this in io_send()

        let job = u.downstairs.lock().await.in_progress(new_id, client_id);
        if job.is_none() {
            continue;
        }

Is still true.

Make that panic, see what happens.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the io_send() entry point and inspect the InProgress() call shown in the issue, including the handling of a None result. Temporarily make that path panic and observe whether any IOs reach it; done means establishing whether None results can occur in io_send() and documenting the observed behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.