Graph
Cases3 cases
1 to 3 of 3
IL-0022Three overlapping infrastructure bugs (context-window misrouting, TPU output corruption and an XLA top-k miscompilation) degraded Claude's responsesAnthropic2025- Symptoms
From early August 2025 a number of users reported that Claude's responses had become worse. At first the reports were hard to tell apart from the normal variation in user feedback. By late August they had become frequent and persistent enough for Anthropic to open an investigation.
- Trigger
A bug from 5 August that sent some Sonnet 4 requests to servers configured for the upcoming 1M-token context window; a misconfiguration deployed to the Claude API TPU servers on 25 August; token-selection and sampling-code changes deployed on 25 and 26 August that removed a December 2024 workaround and exposed a latent XLA:TPU compiler bug; and a routine load-balancing change on 29 August that increased the misrouted traffic.
- Root cause
- Component
- Contributing factor
- Detection
User reports of degraded responses from early August, including reports online. They were hard to tell apart from normal feedback variation, and their rising frequency and persistence by late August led Anthropic to open an investigation; internal evaluations did not detect the degradation.
- Remediation
- Fixed the routing logic so short- and long-context requests go to the correct server pools (deployed 4 September, rolled out to all platforms by 18 September)
- Rolled back the TPU server change that corrupted token generation (2 September)
- Rolled back the top-k sampling change for Haiku 3.5 (4 September), Opus 3 (12 September) and Sonnet 4
- Switched from approximate to exact top-k and standardized some additional operations on fp32 precision
- Action items
- Add detection tests for unexpected character outputs to the deployment process
- Develop more sensitive evaluations that reliably tell working and broken implementations apart
- Run quality evaluations continuously on true production systems
- Build infrastructure and tooling to debug community-sourced feedback faster without sacrificing user privacy
- Fix the approximate top-k compiler bug together with the XLA:TPU team
- Lessons
Benchmarks, safety evaluations and canary deployments missed degradation that users noticed, partly because the model often recovers from isolated mistakes, and Anthropic relied too heavily on noisy evaluations, with no clear way to connect rising reports to each of its recent changes. Overlapping bugs with different symptoms on different platforms looked like random degradation, and privacy controls on user interactions kept engineers from examining the interactions needed to identify or reproduce the bugs. Anthropic concluded that it needs evaluations running continuously on production and a continuous signal from users, such as the /bug command in Claude Code and the thumbs-down button in the Claude apps.
- Symptoms
A production EKS cluster on Kubernetes 1.30 went into read-only mode: the API server rejected every request that would change an object, such as creating pods or scaling deployments, and deleting objects to free space did not work either.
- Trigger
Kyverno 1.12 kept creating ephemeralreports objects that piled up in etcd until the database passed EKS's size limit.
- Root cause
- Component
- Contributing factor
- Detection
The cluster rejected writes; the audit logs carried the "etcdserver: mvcc: database space exceeded" error.
- Remediation
- AWS raised the etcd storage limit from 8/10GB to 12GB to unlock writes
- an AWS engineer deleted the leaked Kyverno ephemeralreports objects directly from etcd
- Action items
- Monitor the etcd database size with apiserver_storage_size_bytes and never let it reach 8GB
- Upgrade Kyverno 1.12 to 1.12.4, which fixes the ephemeralreports pile-up, or disable reporting for admission events and tune --aggregationWorkers
- Lessons
On EKS, once etcd hits its size limit the cluster becomes read-only and only AWS can clean it up, so cleanup scripts must run before the limit is reached. Watch the etcd database size and object counts per resource, especially for controllers that create report objects.
IL-0174After an upgrade to Fluent Bit 2.0, logging sidecars that used the Kafka output plugin kept restarting with SIGSEGV because the plugin read a corrupted record as a map without checking its typeHyperconnect2023- Symptoms
Hyperconnect upgraded the Fluent Bit sidecar of one service with little user impact to Fluent Bit 2.0 and watched it for several days. Only the containers that used the Kafka output plugin were being restarted, each time on SIGSEGV. The stack trace printed at the crash pointed into the Kafka output plugin, but no core file was left behind, because Fluent Bit ran inside Kubernetes.
- Trigger
Upgrading the Fluent Bit logging sidecar to version 2.0 (the 2.0.3 image) on a service with low user impact.
- Root cause
- Component
- Contributing factor
- Detection
The team monitored the upgraded sidecars for several days after the upgrade and saw that the containers using the Kafka output plugin were restarting with SIGSEGV.
- Remediation
- patched the Fluent Bit Kafka output plugin to skip data that is not a map before calling produce_message()
- ran a custom build with the patch as the sidecar, which stopped the segmentation faults
- submitted the patch upstream as fluent-bit pull request 6452, which was merged eight days later
- Lessons
A segmentation fault in a container can be debugged from its core file, but Kubernetes does not keep one by default: a volume mounted into the pod and a core_pattern pointing into it on the node are needed first. The debug image of the same version, run locally on the same CPU architecture with the matching source checkout, gives a gdb environment that matches production. Core files contain part of the process memory and may hold sensitive data, so they should be shared with care.
These 3 cases involve etcd and Kubernetes API server. 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 defect3 cases
- Component
- Contributing factor
- Organisation
IL-0022Three overlapping infrastructure bugs (context-window misrouting, TPU output corruption and an XLA top-k miscompilation) degraded Claude's responsesAnthropic2025IL-0077EKS cluster went read-only for over seven hours after Kyverno ephemeralreports filled the etcd database past its size limitMarcin Cuber2024IL-0174After an upgrade to Fluent Bit 2.0, logging sidecars that used the Kafka output plugin kept restarting with SIGSEGV because the plugin read a corrupted record as a map without checking its typeHyperconnect2023