End-to-end Deadlock Debugging Tools at Facebook

Play End-to-end Deadlock Debugging Tools at Facebook
Sign in to queue

Description

Facebook has developed tooling to help quickly find and debug several classes of concurrency bugs in Facebook's large C++ codebase. In this talk, we will focus specifically on deadlocks and the tools we use to detect and prevent them. We will explore the various tools we use — some open source tools we have deployed and some we have developed — and how they work by walking through several examples of real-world bugs found by these tools in Facebook's large production systems. Topics include: * How we deploy and utilize ThreadSanitizer on Facebook's large codebase * Linux eBPF tools to detect potential deadlocks on running binaries * gdb extensions to examine mutex internals to detect deadlocks * folly::Synchronized and other libraries that make it more difficult to introduce concurrency bugs

Day:

5

Session Type:

Presentation

Code:

109

Embed

Download

Download this episode

Download captions

The Discussion

Add Your 2 Cents