Cases3 cases
1 to 3 of 3
IL-0160A 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 regionsLinode2026- Symptoms
From about 21:00 UTC on March 4, 2026, customers using Linodes backed by NVIDIA RTX 4000 Ada GPUs saw the GPUs lock up. At first the problem seemed limited to worker nodes of the Linode Kubernetes Engine (LKE); later Linode confirmed that every Linode with this hardware was affected, while Standard Compute and other GPU instances were not.
- Trigger
Deployment of a repaired legacy GPU monitoring script, fixed during a routine improvement effort to restore a missing metric on internal observability dashboards.
- Root cause
- Component
- Contributing factor
- Detection
Customers saw the lockups from about 21:00 UTC; the first status post went up at 02:07 UTC on March 5, about 5 hours after the lockups began.
- Remediation
- Disabled the monitoring script across the GPU fleet
- Rebooted the affected nodes
- Action items
- Take improvement and prevention measures to stop a recurrence; the postmortem does not list them
- Lessons
A monitoring script can take down the hardware it watches. A fix meant only to restore a missing metric brought back a firmware query written for an earlier GPU generation, and on the RTX 4000 Ada architecture that query against an active GPU triggers a lockup. The script ran across the GPU fleet, so every Linode with this GPU was affected in several regions, and the investigation first suspected a regression in the host hypervisor or the GPU firmware.
IL-0171Karpenter 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 FalseInflab2025- Symptoms
GPU nodes for an AI video upscaling job were created normally and reached Ready, and then about 10 to 11 minutes later Karpenter treated each one as unhealthy and replaced it. Every new node went the same way, so the GPU pods kept restarting and the upscaling work could not make progress.
- Trigger
Enabling Karpenter's node auto-repair feature gate (nodeRepair: true) and then running GPU pods on nodes from the Bottlerocket NVIDIA AMI.
- Root cause
- Component
- Contributing factor
- Detection
The team noticed GPU nodes being replaced repeatedly after running GPU pods, then found the DCGMError message in the node events.
- Remediation
- Disabled Karpenter node auto-repair by setting the nodeRepair feature gate to false
- Lessons
Automatic node repair acts on every unhealthy node condition, including AcceleratedHardwareReady, so an image defect that only breaks GPU health monitoring is enough to have every GPU node terminated and recreated in a loop. Before turning on auto-repair, check which conditions it watches and whether the node image reports them correctly. Disabling auto-repair stops the loop at once but is only a temporary measure; installing the missing library or changing the AMI address the cause but cost more on an immutable OS such as Bottlerocket.
IL-0025Failed boots, InfiniBand link flapping, NCCL hangs and throughput sags while bringing up a 4,088-GPU H100 training clusterImbue2024- 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.
These 3 cases involve GPU driver and InfiniBand fabric. 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 cause3
Faulty deployment1 case
- Component
- Contributing factor
- Organisation
Software defect1 case
- Contributing factor
- Organisation
Dependency failure1 case
- Contributing factor
- Organisation