Incident Library
  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases10 cases

6 to 10 of 10

  1. Symptoms

    When Imbue brought up a cluster of 4,088 H100 GPUs on 511 hosts, about 10% of the machines failed to boot, mostly from physical problems: unconnected or miswired Ethernet cables, iDRAC hardware issues, broken power supplies, bad NVMe drives, missing internal wires, and network cards or GPUs that did not show up. In single-node GPU tests, Ubuntu server logs showed links between the GPUs and the PCIe buses or network cards reporting "limited width: x4 < x16". A few hosts had NVMe drives that locked up the whole machine when touched, drives that appeared in random order and got the OS installed on the wrong one, wrong temperature readings that kept fans at 100%, and CPUs limited to 2 GHz.

    Trigger

    Bringing a new InfiniBand-connected H100 cluster into service and running the first multi-node training jobs on it.

    Root cause
    Component
    Contributing factor
    Detection

    Automated hardware checks during provisioning, UFM alerts on temperature, error rates and flapping ports, Prometheus node exporter and DCGM metrics, per-batch MFU monitoring, and live debugging of stalled processes with Py-Spy, GDB and NVIDIA Nsight.

    Remediation
    • Automated checks for broken machines and sent faulty ones back to Dell or to data center staff
    • Reseated GPUs and internal PCIe cables and applied firmware upgrades
    • Downgraded the NVIDIA driver that caused wrong temperature readings
    • Rewired the top tier of the InfiniBand fabric into a single network and added checks that the wiring matched the design
    • Cleaned and reseated alerting ports and disabled the remaining alerting transceivers
    • Ran a burn-in workload through every InfiniBand port and disabled the ports that did not survive it
    • Enabled GPUDirect RDMA with an extra kernel module and PCIe ACS disabled
    • Disabled automatic garbage collection and scheduled it at set intervals on all hosts
    Action items
    • Release host-level health checks that confirm a host is free from known errors
    • Release an NCCL patch that improves logging around errors and stalls
    • Release a GPU stress test and NVLink and InfiniBand networking tests
    • Release a script that parses the UFM event log and decides which network ports to disable
    • Release a script that generates a burn-in workload exercising every InfiniBand link
    • Relaunch crashed runs automatically from the last checkpoint on the machines that pass health checks
    • Replace the disabled alerting transceivers
    Lessons

    Keep 10 to 20% more machines than a run needs, and network them so any working subset can be used. On the newest hardware expect about 3% of machines to break each week, mostly the same few machines breaking in different ways, so growing a set of known reliable "golden" hosts works better than chasing random failures. Write tests and automation for every kind of failure met, because each one comes back, and write tools that make opaque errors readable. Change only one thing at a time, and double-check the claims of new tools and people before building on them.

  2. Symptoms

    From 08:00 US/Pacific on 12 March 2024, GKE GPU nodes running Container-Optimized OS (COS) that were newly created or recreated came up with GPU drivers that did not work, so workloads that used the GPUs could not run. GKE showed elevated errors.

    Root cause
    Component
    Contributing factor
    Detection

    The report does not say how Google detected the issue. Affected users saw "Failed to download GPU driver installer, status: 403 Forbidden" on the GPU node when installing the driver.

    Remediation
    • Halted automatic node recreations, which attempt GPU driver downloads, until the issue was mitigated
    • Worked with the driver partner to resolve access to the driver download bucket
    Lessons

    The status page report states no lessons or follow-up actions.

  3. Symptoms

    At 20:31 UTC on 15 November 2023, some GPU virtual machines in us-northcentral1-a became unavailable. One row of servers in a Crusoe Cloud data center in the us-northcentral1 region had lost power, and every server in the row powered off together with the VMs running on it.

    Trigger

    While the row's UPS was in bypass mode for routine maintenance, power switched from the primary source to a backup source for reasons unrelated to the maintenance.

    Root cause
    Component
    Contributing factor
    Detection

    The power failure happened at 20:31 UTC. The first status post, at 21:07 UTC, said certain VMs in us-northcentral1-a were unavailable, and at 21:31 UTC the status page said the affected VMs had been identified.

    Remediation
    • identified the VMs on the row that lost power
    • restarted the affected VMs after power was restored
    Action items
    • Review the standard operating procedures for UPS maintenance to minimise customer impact during future maintenance
    • Build future data centers with redundant UPSs
    • Improve recovery procedures to reduce mean time to resolution
    Lessons

    When the only UPS for a row is in bypass for maintenance, the row is exposed to any power event during that window, even one unrelated to the work. Crusoe Cloud's response is redundant UPSs in future data centers, a review of maintenance procedures, and faster recovery of VMs after power returns.

  4. Symptoms

    During BigScience's 176B-parameter multilingual training (tr11-176B-ml) on the Jean Zay cluster, launched on 2022-03-11, one of the GPUs died about once a week. Most of the time the SLURM job crashed and restarted automatically from the last checkpoint.

    Trigger

    A GPU on one of the training nodes failed during the run.

    Root cause
    Component
    Contributing factor
    Detection

    There was no automatic detection of a hung job; it was noticed only when someone watching the training saw that it was stuck.

    Remediation
    • raised checkpoint frequency to every 200 iterations and then to every 100 iterations (SAVE_INTERVAL=100)
    • set NCCL_ASYNC_ERROR_HANDLING=1 so NCCL problems crash the job instead of hanging it
    • added the srun options --wait=60 and --kill-on-bad-exit=1 after testing them on 2 nodes
    Lessons

    On a long run across hundreds of GPUs, a dead GPU every week is routine; what costs time is the case where a process crashes and the job hangs instead of exiting, because then nothing restarts it. Making NCCL errors fatal and having the scheduler end the whole step on a bad exit is meant to turn such a hang into a crash that the existing automatic restart handles; only the srun part was tested. Frequent checkpoints bound the loss per crash, at the price of save time for a 2.3TB checkpoint.

  5. Symptoms

    Between the team's 17 November 2021 update and 3 December 2021, the 175B-parameter OPT training run went down and had to be restarted more than 40 times, for hardware, infrastructure and training stability reasons. A hardware fault could stop the run for hours at any time of day, and several did over the Thanksgiving break.

    Trigger

    Nodes in the cloud training cluster failed with ECC errors, and each failure took the training run down.

    Root cause
    Component
    Contributing factor
    Detection

    During these two weeks the team added monitoring of train.log, GPU burn-in testing to detect memory errors, and automated InfiniBand testing.

    Remediation
    • replaced failed nodes, and later did it through a script
    • added GPU burn-in testing to detect memory errors
    • automated InfiniBand testing
    • added monitoring of train.log
    • debugged the cloud provider's Python API until checkpoint downloads from the blob store worked well enough
    Action items
    • Run an on-call rotation for the training run, with runbooks and tooling for the most common issues, and invite more people to join it
    Lessons

    At this scale cloud hardware failures are certain, and the team concluded that automating the handling of hardware failures is necessary. Without spare nodes and burn-in tests, each failure costs hours and a replacement can bring the same fault back. The team also concluded that cloud infrastructure instability is something to always prepare for, because the customer has no control over the underlying hardware. A checkpoint large enough to need hundreds of multi-gigabyte downloads makes the storage path part of recovery time.

Check your cluster for this

These 10 cases involve GPU driver and NCCL. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause5

Faulty deployment1 case

Organisation
  1. IL-0160 A repaired legacy GPU monitoring script sent a firmware query that triggers a race condition in the GPU System Processor of NVIDIA RTX 4000 Ada GPUs, locking up GPU Linodes and LKE worker nodes in several regions
    Linode2026

Dependency failure5 cases

  1. IL-0134 A power event at Lambda's AUS01 data center rebooted 246 GPU nodes, all spine switches and the VAST storage, failing customer workloads and leaving stale NFS mounts on VMs
    Lambda2026
  2. IL-0025 Failed boots, InfiniBand link flapping, NCCL hangs and throughput sags while bringing up a 4,088-GPU H100 training cluster
    Imbue2024
  3. IL-0021 GKE GPU nodes on Container-Optimized OS could not download NVIDIA drivers (403 Forbidden) and came up without working GPUs
  4. IL-0135 A power source switch during UPS maintenance cut power to a row of GPU servers and shut down Crusoe Cloud VMs in us-northcentral1
  5. IL-0126 The OPT-175B training run restarted more than 40 times in two weeks as cloud GPU nodes failed with ECC errors, replacement nodes came back faulty, and checkpoint downloads hung

Software defect1 case

Organisation
  1. IL-0171 Karpenter node auto-repair replaced EKS GPU nodes about 10 minutes after they became Ready, in a loop, because the Bottlerocket NVIDIA AMI lacked libdcgm.so and set AcceleratedHardwareReady to False
    Inflab2025

Breaking change in an upgrade1 case

Organisation
  1. IL-0120 A daily scheduled OS update restarted systemd-networkd on cloud-hosted GPU nodes, which conflicted with OpenAI's networking agent and removed all routes, cutting capacity for ChatGPT and the API
    OpenAI2025

Hardware failure2 cases

Organisation
  1. IL-0127 Llama 3 405B pre-training on 16K H100 GPUs was interrupted 419 times unexpectedly in 54 days, mostly by faulty GPUs, HBM3 memory and other hardware
    Meta2024
  2. IL-0125 A GPU died about once a week during a 176B-parameter training run, and sometimes the job hung instead of exiting, so SLURM never restarted it