oxidecomputer / oxidecomputer/propolis

phd xtask could be more helpful if propolis-server does not compile

Open
#1,098 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I'm not sure why this is happening, but I wanted to file an issue for a QOL improvement with PHD.

I tried to run the PHD tests with pfexec cargo xtask run phd

That hung for awhile like this:

jordan@atrium ~/propolis $ pfexec cargo xtask phd run
   Compiling propolis-server


After some time I CTRL+C'd it and it turns out propolis-server didn't compile on the branch I was working on. The xtask output could be more helpful here.

I tried running the xtask a second time, and it did eventually tell me something was worng:

Error: Failed to build propolis-server

Caused by:
    Cargo command failed: The cargo subcommand returned an error.
       Compiling illumos-utils v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling oximeter-schema v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling sled-hardware-types v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling oxql-types v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling gateway-client v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling internal-dns-resolver v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling nexus-sled-agent-shared v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling oximeter v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling oximeter-instruments v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling oximeter-db v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling sled-hardware-types v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling trust-quorum-types-versions v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling bootstore v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling nexus-types v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling trust-quorum-types v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling sled-agent-types-versions v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling sled-agent-types v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling sled-agent-client v0.1.0 (https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb61)
       Compiling nexus-client v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling dice-verifier v0.3.0-pre0 (https://github.com/oxidecomputer/dice-util?rev=1d3084b514389847e8e0f5d966d2be4f18d02d32#1d3084b5)
       Compiling vm-attest v0.1.0 (https://github.com/oxidecomputer/vm-attest?rev=2cdd17580a4fc6c871d24797016af8dbaac9421d#2cdd1758)
       Compiling oximeter-producer v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#b8efb9a0)
       Compiling crucible v0.0.1 (https://github.com/oxidecomputer/crucible?rev=a945a32ba9e1f2098ce3a8963765f1894f37110b#a945a32b)
       Compiling propolis v0.1.0 (/home/jordan/propolis/lib/propolis)
       Compiling propolis-server v0.1.0 (/home/jordan/propolis/bin/propolis-server)
    error: could not compile `propolis-server` (lib) due to 2 previous errors
    warning: build failed, waiting for other jobs to finish...
    

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 with the cargo xtask run phd entry point and reproduce the delayed propolis-server compilation failure. Check how the build error is reported, then make the PHD command provide clearer progress or failure output; done means a failed build is identified promptly instead of appearing hung.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, tooling
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.