Museum of Weird Bugs: Our Favorites From 8 Years of Service Mesh Debugging
Talkat KubeCon + CloudNativeCon Europe 2025 · on Wednesday, 2025-04-02· at 17:45· Level 1 | Hall Entrance N10 | Room G·
summary
Eight years of Linkerd debugging yields concrete fixes: a CRD/schema mismatch causes an infinite patch loop and 780 MB leak because a generated Rust struct includes a port field Kubernetes drops; fix is to align the CRD. Another bug shows a gRPC/HTTP2 flow-control deadlock where blocking stream.send in a Go destination controller halts all informer callbacks; fix is a per-listener queue and stream termination for lagging clients. Tools: Kubernetes API, CRDs/Gateway API, client-go informers, gRPC over HTTP2, Rust and Go.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 1:26Linkerd architecture overview
- 8:03CRD status update memory leak
- 15:25Stale routing and deadlock
- 27:31Proxy memory leak
- 28:13Q&A
related talks
28mThere's a Bug in My Service Mesh! What Do You Do When the Mesh is At Fault?
33mLove your bugs
34mChaos Debugging: Finding and Fixing Microservice Weak Points
34mReading 100+ Kubernetes Post-Mortems - lessons learned
29mObservability and Debugging Cloud-Native Apps using Linkerd & Conduit
36mIstio, we have a problem! Understanding and fixing bugs with a service-mesh
20mOverview and State of Linkerd
35mOverview And State Of Linkerd
