oxidecomputer / oxidecomputer/hubris

dump-agent should reserve some space for interactive use

Open
#2,219 1 comment 1 reaction 0 assignees View on GitHub

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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.