~/talk

Async Stacks: Making Senders and Coroutines Debuggable

Talkat CppCon 2024 · on Sunday, 2024-09-15· [rust]
links:none on file
links:none on file
slides:none on file

Claims a concrete debugging feature: runtime async stack frames that capture return address when senders are constructed, stored in operation state, and stitched into debugger output via a KOBT/python script so a backtrace follows work back to main. Demo uses Folly origins ported into Unifex/folly proof-of-concept, runs under lldb/GDB on Linux, shows readable call sites, and works end-to-end in demos and Folly deployments, with measurable binary and per-operation memory overhead that teams may opt into.

AI-written summary · about

  1. 0:00Async code debugging challenges
  2. 1:04Async stack traces today
  3. 3:34Async stack traces for async code
  4. 4:15History of async stacks
  5. 5:38Demo app setup
  6. 6:40Senders and coroutines
  7. 9:14Async main function breakdown
  8. 12:08Process file coroutine
  9. 13:57Live demo traditional traces
  10. 15:00Debugging limits with tools
  11. 17:12Async stack trace debugger
  12. 21:51Async stack frames
  13. 24:17Debuggers reconstruct traces
  14. 27:27Sync to async transitions
  15. 30:00Walking async stack
  16. 33:11Reconstructing async traces
  17. 37:26Async stacks in senders
  18. 40:59Using async stacks in Folly/UNIFX
  19. 42:02Future plans contributions
  20. 44:52Platform support challenges
  21. 46:17Q&A
~/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.