oxidecomputer / oxidecomputer/hubris
dump-agent should reserve some space for interactive use
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
Currently, dump-agent uses the same box of RAM for recording persistent core dumps, and for temporarily reading out chunks of data to implement operations like tasks and ringbuf.
This means if a task has crashlooped and filled the core dump area, it becomes impossible to run tasks or ringbuf to find out why.
eliza@castle ~ rack:berlin $ humility -a build-gimlet-c-dev-image-default.vpd-test.zip -i 'fe80::aa40:25ff:fe04:100%berlin_sw0tp0' tasks control-plane-agent
humility: connecting to fe80::aa40:25ff:fe04:100%12
humility tasks failed: 0x24000538 can't be read via the archive or over the network
Caused by:
out of space for dump_agent; use `humility dump --initialize-dump-agent` to free space
I think we might want to reserve some amount of dump space for this kind of interactive operation, and not use it for recording core dumps.
(Found while debugging with @hawkw)
Contributor guide
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 dump-agent and the humility tasks and ringbuf operations, then inspect how dump --initialize-dump-agent manages dump space. Define a reserved portion that persistent core dumps cannot consume. Done means interactive operations remain usable after core-dump storage is full.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100