Incident Library
Applied filters Root causeSoftware defectFactorGap in automated testsClear allEvery case under the filters, with no sentence; newest first.
Suggested filters Search, and the values found in your words appear here.

Graph

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

Cases8 cases

1 to 5 of 8

  1. Symptoms

    A Qwen3-32B full fine-tuning run on 16 NVIDIA B300 GPUs in two nodes trained normally for about 5 hours, then hung at step 3,850 of 3,857 as it entered the end-of-epoch checkpoint. There was no error, no OOM in dmesg and no segfault, nvidia-smi still showed 100% GPU utilization although throughput was exactly zero, and the hang lasted three hours until the NCCL watchdog surfaced it.

    Trigger

    Rank 3, which had 53 fewer packed blocks than rank 11, ran out of data at the end of the epoch and entered the checkpoint barrier while the other ranks were still in the backward pass.

    Root cause
    Component
    Contributing factor
    Detection

    The NCCL watchdog surfaced the hang after three hours. The team then classified it as a deadlock from nvidia-smi board power and per-rank utilization and confirmed it with the NCCL flight recorder.

    Remediation
    • Added evenfix, which all-reduces each rank's packed-block count to the global minimum before the loop so that every rank stops at the same step
    • Ran a clean epoch with evenfix in which the epoch-end save completed without a deadlock
    Action items
    • Run a preflight gate in the launcher that checks six invariants, including per-rank block balance, and refuses to start an unsafe run
    • Watch each run from a separate host for completion, crash, hang, the power deadlock signature and a throughput floor, and send an out-of-band alert
    • Save checkpoints periodically, every 500 steps, instead of only at epoch end
    • Resume from weights only
    • Raise the watchdog timeout from 10 to 30 minutes
    • Retry failed launches automatically in the launcher
    Lessons

    GPU utilization reads 100% during an NCCL hang, while board power and the per-rank pattern show what the GPUs are really doing. For data-parallel jobs whose per-rank work depends on the data, a passing smoke test does not show that the full run is safe; the team now verifies invariants such as per-rank block balance before launch and watches runs from outside.

  2. Symptoms

    From 15:41 UTC on 29 October 2025, customers and Microsoft services using Azure Front Door (AFD) and Azure Content Delivery Network (CDN) got connection timeout errors and DNS resolution issues. Monitoring alerts started the investigation at 15:48 UTC.

    Trigger

    At 15:35 UTC a specific sequence of valid customer configuration changes, made across two different AFD control plane build versions, produced incompatible customer configuration metadata that was deployed to the edge sites.

    Root cause
    Component
    Contributing factor
    Detection

    The configuration protection system detected the data plane impact and blocked configuration changes at 15:43 UTC, and monitoring alerts started the investigation at 15:48 UTC.

    Remediation
    • The configuration protection system automatically blocked all new and in-flight configuration changes worldwide
    • Removed the problematic customer configurations from the latest LKG snapshot by hand
    • Blocked all customer configuration changes from propagating to the data plane
    • Deployed the updated LKG configuration across the global fleet
    • Moved Azure Portal away from Azure Front Door
    • Rebalanced traffic by hand to a few healthy edge sites, then switched back to automatic traffic management
    • Blocked all AFD customer configuration changes at the Azure Resource Manager level until safeguards were in place
    Action items
    • Fix the control plane incompatibility and the data plane bug
    • Process each customer configuration completely and synchronously before production stages
    • Add stages to the phased configuration rollout, with longer bake time between them
    • Move configuration processing on data plane servers into isolated worker processes
    • Reduce configuration propagation time from 45 minutes to about 15 minutes
    • Test backwards compatibility with configurations generated by earlier control plane builds
    • Move critical first-party infrastructure to an active-active setup with fail away
    • Isolate customer configuration and traffic with micro cell segmentation of the AFD data plane
    • Restore customer configurations within one hour by using the local configuration cache
    • Cut data plane recovery further, to about 10 minutes
    • Remove delays in Azure Service Health alerts by raising resource thresholds
    • Extend automated Azure Service Health alerts to similar classes of service degradation
    • Fail over support request systems faster so Premier and Unified customers can always open requests
    Lessons

    Microsoft describes configuration propagation risk as inherent to a global Content Delivery Network, in which route, WAF and origin changes must be deployed quickly worldwide. Both this incident and the 9 October AFD incident came from that risk. This time the incompatible metadata passed a protection system that advances only on healthy data plane signals, because the crash came later from delayed asynchronous processing. Some learnings and repair items from the earlier incident applied here as well. Microsoft advises customers to build a resilient global HTTP ingress layer that stays available during regional or network disruptions, to manage resources through the REST API or PowerShell when management portals are unavailable, and to configure Azure Service Health alerts so the right people hear about service issues.

  3. Symptoms

    On 13 March 2025 practically every pod of Nebius Managed Services for Kubernetes in the eu-west1 region lost network connectivity for at least some time between 13:36 and 18:11 UTC. Packets for the affected IP alias routes were not processed by the data plane. The eu-north1 region was not affected.

    Trigger

    A release of a VPC control plane component in eu-west1, deployed to canaries from 13:36 UTC and to all other nodes from 14:35 UTC, changed route distinguisher values for a new feature. The change made a long-standing bug in the handling of route announcements take effect for the update messages of Managed Kubernetes pods.

    Root cause
    Component
    Contributing factor
    Remediation
    • Restarted the host VPC component on the affected nodes one node at a time
    • Restarted the host VPC component on the remaining nodes in parallel once the restart was known to fix the problem
    Action items
    • Fix the bug in the VPC host component itself
    • Add an alert on a diverging number of routes
    • Add an alert on the number of drops in the data plane
    • Develop a way to reset endpoints without restarting the host VPC component
    • Move the VPC's persistent e2e test virtual machines to canary hosts
    • Add persistent e2e tests for Managed Services for Kubernetes
    • Run e2e tests more often
    • Add a deployment stage in which non-critical internal services receive updates first
    Lessons

    The failure needed both an existing IP alias at release time and a particular order of node updates, and neither the testing installation nor the canaries met both, so neither caught it. Missing alerts on technical metrics that deviate from normal, here the number of routes and the number of drops, made the response much slower.

  4. Symptoms

    From 07:00 to 11:00 UTC on 4 October 2023, some users of Cloudflare's 1.1.1.1 DNS resolver received SERVFAIL responses to valid queries. This reached users of WARP and Zero Trust and of third-party DNS resolvers that use 1.1.1.1, and the first external reports of unexpected SERVFAILs arrived at 7:57 UTC.

    Trigger

    On 21 September 2023, as a planned change in root zone management, a ZONEMD resource record, in effect a checksum of the zone's contents, was added to the root zone for the first time. On 4 October at 07:00 UTC the DNSSEC signatures in the last root zone copy that 1.1.1.1 had loaded expired.

    Root cause
    Component
    Contributing factor
    Detection

    External reports of unexpected SERVFAILs started coming in at 7:57 UTC, and Cloudflare declared an internal incident at 8:03 UTC. Nothing had alerted on static_zone serving a stale root zone during the two weeks before.

    Remediation
    • Deployed an override rule meant to stop 1.1.1.1 from answering with the stale root zone, which did not cover forwarded queries
    • Stopped 1.1.1.1 from preloading the root zone file entirely
    Action items
    • Add alerts for when static_zone serves a stale root zone file
    • Re-evaluate how the root zone is ingested and distributed internally so new record types are handled
    • Improve test coverage for what happens when the root zone fails to parse
    • Limit how long stale copies of the root zone can be used, following RFC 8806
    Lessons

    Cloudflare's main lesson is never to assume an input will not change. Modern systems pull in long chains of libraries that may not be ready when their input changes, so they need tests that catch regressions and components that fail gracefully on new input, and format changes in DNS and BGP should be expected to have an impact. Cloudflare also writes that with better monitoring of the stale root zone, the existing caching would have prevented any impact.

  5. Symptoms

    On 13 January 2022, shortly after 07:28 UTC, Mozilla saw a spike in crashes reported through the Firefox crash reporter and received several reports, from inside and outside Mozilla, of the browser hanging. For close to two hours Firefox was unusable for users worldwide and could not load web content.

    Trigger

    At 07:28 UTC on 13 January 2022 GCP deployed an unannounced change that made HTTP/3 the default for load balancers set to "Automatic (default)", so some Firefox connections to Mozilla's services, including Telemetry, started using HTTP/3 instead of HTTP/2.

    Root cause
    Component
    Contributing factor
    Detection

    A spike in crashes reported through the Firefox crash reporter, and reports of browser hangs from inside and outside Mozilla.

    Remediation
    • Explicitly disabled HTTP/3 on the GCP load balancers at 09:12 UTC
    Action items
    • Work with GCP to improve the situation around unannounced changes such as the HTTP/3 default
    • Review all service configurations to avoid similar mistakes
    • Run more system tests with different HTTP versions
    • Find ways to make the browser more resilient to such problems and to speed up incident response
    Lessons

    The hang needed three things together: a provider-side change to the HTTP version, a Rust component calling the network stack through viaduct, and a case-sensitive header lookup deep in the HTTP/3 code. Leaving the load balancers on an automatic default let the provider's change apply without any action from Mozilla, and an announcement would likely have led to a controlled test in staging first. A change of HTTP version and an extra networking layer such as viaduct are significant enough to be covered by system tests.

Check your cluster for this

These 8 cases involve Cloud load balancer and CDN and edge network. 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 cause1

Software defect8 cases

  1. IL-0480 Epoch-end NCCL deadlock hung a 16-GPU B300 fine-tuning run for three hours while GPU utilization read 100%
  2. IL-0226 Azure Front Door edge servers crashed worldwide on incompatible configuration metadata, causing timeouts and DNS errors
  3. IL-0233 A VPC control plane release broke IP alias routes in Nebius eu-west1, and Managed Kubernetes pods lost connectivity
    Nebius2025
  4. IL-0340 Cloudflare's 1.1.1.1 resolver returned SERVFAIL to some valid DNS queries for four hours
  5. IL-0253 Firefox froze and could not load any web content for close to two hours, stuck in an HTTP/3 request to Telemetry
  6. IL-0345 Many Render services in the Oregon region returned 503 errors for about four hours
    Render2020
  7. IL-0338 Google Cloud HTTP(S) and TCP/SSL Proxy load balancers returned 502s or reset connections on 33% to 87% of requests
  8. IL-0396 New or live-migrated GCE instances, VPN tunnels and network load balancers were unreachable on public IPs for over 2h