~/talk

Down The Rabbit Hole: Chasing bugs from the browser to the backend

Talkat JSConf US 2013 · 2013-05-28..05-30· [javascript, microservices]
slides:none on file

A Node.js/browser Jabber-style client built on Socket.IO repeatedly drops connections because an old websocket heartbeat timer survives a reconnect and later kills the new socket, producing ~30 disconnects/minute (about 10% of users); reproduction uses unplugging Ethernet and iptables attempts, inspection uses Chrome DevTools websockets and Wireshark, and shotgun debugging with breakpoints in Socket.IO finds and wraps the stray heartbeat. Deploying the guard collapses disconnects from ~30/min to ~1/min on a service peaking at 900 concurrent connections.

AI-written summary · about

  1. 0:00Intro
  2. 0:21Down the Rabbit Hole: a story about chasing a bug
  3. 2:10my codes are perfect
  4. 2:50Flaky Internet?
  5. 3:12Flaky Internet!
  6. 3:29Lesson: Listen to your users
  7. 3:44Act II: Acceptance
  8. 5:18Lesson: Graph all the things!
  9. 9:23Act III: Repro
  10. 9:52iptables --help
  11. 10:58Act IV: Diagnosis
  12. 11:57Bringing out the big guns Wireshark
  13. 13:47Shotgun Debugging I stuck breakpoints
  14. 15:38Act V: The Fix
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.