Disk space exhausted

The host or container filesystem ran out of disk space.

disk-full high confidence runtime

Matched signals

  • disk full
  • file system is full
  • no space remaining
  • not enough space
  • no space left on device
  • ENOSPC
  • errno 28
  • Write failed: No space left

Disk space exhausted

What this failure means

The host or container filesystem ran out of disk space. Writes fail immediately when the disk is full, typically aborting builds, unpack steps, or runtime file creation.

Symptoms

Faultline looks for one or more of these log fragments:

disk full
file system is full
no space remaining
not enough space
no space left on device
ENOSPC
errno 28
Write failed: No space left

Diagnosis

The host or container filesystem ran out of disk space. This starter rule is intentionally kept separate from CI-runner-specific disk exhaustion so the remediation can stay focused on the machine or filesystem that actually ran out of space.

Fix steps

  1. Check how much space remains on the filesystem that contains the failing path, and identify which paths are largest:

    df -h
    du -sh /* 2>/dev/null | sort -rh | head -20
    
  2. If Docker is part of the job, prune images, containers, and build cache in one pass:

    docker system prune -af --volumes
    docker system df  # confirm how much was recovered
    
  3. Remove large intermediate build artifacts: make clean, gradle clean, cargo clean, or the project equivalent.

  4. Clear accumulated language-specific caches:

    rm -rf ~/.npm ~/.gradle/caches ~/.m2/repository ~/.cache/pip
    
  5. Add a disk space guard at the start of large jobs so failures are explicit rather than silent mid-step:

    AVAIL_KB=$(df --output=avail / | tail -1)
    [ "$AVAIL_KB" -lt 2097152 ] && echo "ERROR: less than 2 GB free" && exit 1
    
  6. If cleanup is not enough, increase the runner disk size or split build and test stages into separate smaller jobs with lighter footprints.

Validation

  • df -h — confirm at least 1–2 GB is available before re-running.
  • Re-run the failing step and confirm it completes without an ENOSPC error.

Why it matters

Large container layers, extracted archives, temporary build directories, or verbose logs can fill a filesystem before the job completes. This is common both on CI hosts and inside ephemeral containers with small writable layers.

Prevention

  • Add a pre-build step that prunes old Docker images and containers.
  • Configure log rotation and limit artifact retention periods.
  • Monitor disk usage on persistent runners and alert before it reaches capacity.

Try it locally

df -h
docker system df
df -h

How Faultline detects it

Use faultline explain disk-full to see the full playbook.

faultline analyze build.log
faultline explain disk-full

Generated from playbooks/bundled/log/runtime/disk-full.yaml. Do not edit directly.

Try it on your own failed log

$ faultline analyze failed.log
Want this across every CI run? Faultline Teams tracks recurring failures across all your repos and surfaces patterns in a shared dashboard.