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

Giving Claude M365 Access via Power Automate and a FastMCP Server
A developer built a lightweight MCP server that lets Claude interact with Microsoft 365 (inbox, calendar, OneDrive, Planner, Excel, Word) using Power Automate webhooks — no admin Graph permissions needed.

How OpenCLAW Memory Actually Works: Fixing Agent 'Forgetting'
OpenCLAW agents don't have persistent memory between conversations - they reconstruct context from files like SOUL.md, USER.md, and MEMORY.md each time. Common 'forgetting' issues stem from old sessions, unstructured memory files, and storing important info in chat history instead of permanent files.

Opus 4.7 Broke 40% of Prompts; Fix Was Structuring CLAUDE.md and Skills
After Opus 4.7 degraded ~40% of prompts across 6 setups, a fractional head of AI fixed it by replacing ad-hoc prompts with structured Skill files, hierarchical CLAUDE.md, and separate memory files — reducing token usage 22% and iteration turns from 3-4 to 1-2.

Practical Lessons from Building On-Device AI in React Native
A developer shares specific technical details from building a React Native app with on-device LLMs, image generation, voice transcription, and vision AI, including memory management strategies, library choices, and performance benchmarks.