http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51906
--- Comment #21 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-01-29 22:36:34 UTC --- That gdb session in comment 18 makes no sense, owns_lock can't call trylock. Your sources don't match your lib. I thought this was a problem with WARNING: program timed out. I didn't notice there were failed assertions too. You'll have to debug it further yourself. The simplest one to debug might be 30_threads/recursive_mutex/try_lock/1.cc