Breaking Bug
summary
A subtle production bug causes long app hangs for ~3–6% of users: DNS returns an IPv6 address first and connections never complete until client timeouts, which froze the UI. Diagnosis uses Mixpanel funnels, Papertrail remote logs, proxies/Genymotion, Visor remote ADB to inspect real phones, and custom CDP network tracing. Fix includes adding MockWebServer tests and shipping a custom OkHttp DNS resolver (prefer IPv4) plus SSL proxies; it costs four weeks and ~15,000 lost users but cuts affected wait times ~50%.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:12Recyclerview bug horror story
- 5:15Gathering user feedback
- 7:19Suspects and failed replication
- 10:15Remote logging setup
- 12:28Simulating the bug
- 13:52DNS typo facepalm
- 14:59New performance issues
- 16:46Remote debugging with Vysor
- 18:11Systematic timeouts discovery
- 19:18Measuring affected users
- 22:32Network introspection tools
- 24:21Designer confirms issue
- 25:46Shared ISP investigation
- 27:30DNS resolver fix
- 28:12Impact and cost of bug
- 29:40Scientific debugging method
- 31:05Q&A session
related talks
51mQ&A Session
37mMobile Testing: Pinpointing Invisible Problems
23mMobile App Crashes in Production: Lessons Learned from a Tester’s Viewpoint
23mTroubleshooting the fudge out of it
45mUncovering breaking changes behind UI on mobile applications
31mUnleashing the Power of Remote Tooling
35m82 Bugs I Collected in a Year You Won’t Believe Made It to Production
51m82 Bugs I Collected in a Year You Won’t Believe Made It to Production
