Bug Hunt: WireGuard Crashes and MTU Mismatch in GKE

Lovable's infrastructure team debugged a cluster-wide networking issue on Google Kubernetes Engine (GKE) that caused intermittent connection failures. Using an AI agent to scan Clickhouse logs, they discovered that anetd pods (Google's Cilium implementation) were crashing ~120 times per pod over six days — nearly once per hour. Crash dumps revealed a concurrent map-access panic in Google's WireGuard integration code, not in WireGuard itself.
First Fix: Disable Transparent Encryption
Google support recommended disabling node-to-node encryption to bypass the WireGuard bug. The team applied the change and restarted all anetd pods. Crashes stopped for about four hours — then users started seeing random connection failures to Valkey (their in-memory data store).
Second Bug: MTU Mismatch
Engineer Erik used tcpdump and Wireshark to capture packets. The smoking gun: "Destination unreachable (Fragmentation needed)". Here's the cause:
- With WireGuard enabled, cluster MTU was set to 1420 bytes (accounting for WireGuard's 80-byte encapsulation overhead).
- After disabling WireGuard, configs should have reverted to standard 1500 bytes, but some nodes weren't restarted — they still used the old 1420 MTU.
- Valkey connections crossing nodes with mismatched MTUs failed intermittently.
Resolution
The fix: rolling restart of all nodes to ensure consistent MTU configuration across the cluster. This eliminated fragmentation errors and restored stability.
Key Takeaways
- The first bug was in Google's
anetdintegration of WireGuard — a concurrency bug in map access. It's specific to GKE's implementation. - Disabling encryption bypassed the panic but introduced an MTU mismatch that needed a full node rollout.
- AI agents helped surface the anetd crash pattern quickly from millions of log lines.
📖 Read the full source: HN AI Agents
👀 See Also

Use Task Runners for Common Coding Tasks
Ham Vocke explains how to use simple bash scripts or Makefiles as task runners to standardize common commands like build, test, and format across repositories.

5 Core OpenClaw Capabilities Available Without Installing Skills
OpenClaw's base installation can handle file operations, shell commands, web fetching, scheduled tasks, and multi-step workflows without additional skills, reducing token costs and setup complexity.

Building a Custom Hindi Glossary System with Claude: From 76% to 92% Accuracy in 10 Months
A solo dev in Bangalore built a custom glossary system for Claude to improve Hindi domain vocabulary accuracy from 76% to 92%. Example-based terms with context sentences worked best.

Mac Mini M4 Pro vs Mac Studio M4 Max for Local LLM Inference – Key Considerations
A developer compares Mac Mini M4 Pro (12C CPU/16C GPU, 273 GB/s) vs Mac Studio M4 Max (16C CPU/40C GPU, 546 GB/s), both 64GB/1TB, for local inference with Gemma 4 and Qwen. Key question: is the bandwidth jump worth $600?