oxidecomputer / oxidecomputer/propolis

Snapshot restore fails on Intel hosts when intr_shadow is set

Open
#1,013 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
270
Forks
42
Avg merge
4d 5h
Merged PRs (30d)
6

Description

VM snapshot restore fails on Intel hosts with:

$ pfexec ./propolis-standalone --restore arch-1767964216637.tar
Jan 09 13:12:41.257 INFO restoring snapshot of VM from arch-1767964216637.tar
Jan 09 13:12:41.258 INFO Creating VM with 4 vCPUs, 3221225472 lowmem, 1073741824 highmem
Jan 09 13:12:42.571 INFO VM created, name: arch
Jan 09 13:12:42.593 INFO Bootorder declared as Some(["block0", "net0"])
Jan 09 13:12:42.593 INFO Generating E820 map for guest address space
Error: Failed to restore device state for bhyve-vcpu-0

Caused by:
    0: IO Error
    1: Invalid argument (os error 22)
    1: Invalid argument (os error 22)

This occurs when the source vCPU was in an interrupt shadow state (intr_shadow: true) at snapshot time.

Contributor guide

No contributing guide indexed for this repository

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 by reproducing the reported propolis-standalone --restore failure on an Intel host and trace snapshot restoration for bhyve-vcpu-0. Focus on the case where the source vCPU has intr_shadow: true; done means restoring that snapshot succeeds without the invalid-argument error.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.