[LAD] Finding Deadlock causes in multithreaded C++ using gdb

Paul Davis paul at linuxaudiosystems.com
Sun Feb 20 21:49:47 UTC 2011


On Sun, Feb 20, 2011 at 4:12 PM, Harry Van Haaren <harryhaaren at gmail.com> wrote:
> Hey guys,
>
> I'm working on a mulithreaded version of my pet project, and I've now
> managed to deadlock one thread,
> which in turn makes the GUI thread wait for a mutex lock, and then finally
> segfaults the whole program :-)
>
> So I'm looking for pointers on how best to find a deadlock's cause using
> gdb?

gdb) thread apply all bt

this will show you the state of all threads so you can spot the two of
them that are waiting for the same or the same pair of locks.

valgrind also has some good lock-debugging options.



More information about the Linux-audio-dev mailing list