Introducing Locksmith - an open source tool for detecting potential deadlocks in C and C++

Colin McCabe (Cloudera)
Tools and Techniques
Location: E146 Level: Intermediate
Average rating: ****.
(4.00, 2 ratings)
Slides:   1-ODP 

In today’s world of multi-core CPUs, concurrent programming is more important than ever. Unfortunately, concurrency errors can be difficult to debug. Even worse, they are often very difficult to reproduce when testing.

Locksmith is a tool which can help detect potential deadlocks before they happen. It can detect common concurrency mistakes, such as taking locks in an inconsistent order, or unlocking a mutex from a different thread than the one which locked it. It does this by analyzing the runtime behavior of the application.

Locksmith can be used in C, C++, or Objective C. Because it hooks into the pthreads library, it can also be used with frameworks which build on top of pthreads, like boost::mutex or Glib::mutex. Currently, it has been tested on Linux and FreeBSD.

This talk will describe some challenges in debugging concurrent applications, some useful approaches, and how Locksmith can help.

Photo of Colin McCabe

Colin McCabe


My interests are in big data, storage, and systems-level software. At Cloudera, I mostly work on the Hadoop Distributed Filesystem (HDFS), a key component of the big data ecosystem. Prior to that, I worked on the Ceph distributed filesystem, a petabyte-scale distributed filesystem.


Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or

Contact Us

View a complete list of OSCON contacts