~/talk

A Partial-Multiverse Model of Time Travel for Debugging byBrock Wilcox

Talkat RubyConf 2014 · 2014-11-17..11-19· [ruby]
slides:none on file

Claim: implement time‑travel debugging by forking the process at each step and suspending children so earlier states can be resumed. Implementation uses Ruby, pry and a pry time travel plugin, relying on fork + SIGSTOP/SIGCONT, with snapshots stored as child processes that form an execution tree. Works well enough to reproduce and fix at least one Rails bug, but loses external state, drops threads, uses copy‑on‑write memory and spawns zombies and orphans if cleanup fails.

AI-written summary · about

  1. 0:00Introduction
  2. 0:55Debuggers
  3. 1:34PrideDash
  4. 3:10Yard
  5. 4:53Hooks
  6. 5:22Pride Time Travel
  7. 7:13How it works
  8. 7:28Multiverse theory
  9. 7:58Multiverse example
  10. 8:39Fork
  11. 9:27clone
  12. 13:50signals
  13. 14:15sigterm
  14. 15:14signal
  15. 16:22unix lab
  16. 16:38sigstop
  17. 17:49snapshot
  18. 18:44restore
  19. 19:24Limitations
  20. 20:09Shared file handles
  21. 21:28Snapshots
  22. 22:22Threads
  23. 22:39Thread Hiding
  24. 23:36Managing Threads
  25. 24:08Wrap plugin
  26. 24:39The Problem
  27. 24:59The Trick
  28. 25:43Another Problem
  29. 26:30Why
  30. 27:14UM Zombies
  31. 28:12SelfSolving Problem
  32. 28:27Snapshot Tree
  33. 32:10Questions
  34. 33:11References
~/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.