http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52839
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-04-03 21:33:19 UTC --- I haven't managed to reproduce a double-free on gcc110 in the compile farm, but did get this: #0 0x00000080ef73a5fc in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00000080ef73c2fc in __GI_abort () at abort.c:91 #2 0x00000fff954ce724 in uw_init_context_1 (context=0xfff94cbdee0, outer_cfa=0xfff94cbe590, outer_ra=0xfff955c4240) at /home/jwakely/src/gcc/libgcc/unwind-dw2.c:1502 #3 0x00000fff954cee80 in _Unwind_RaiseException (exc=0x1002b397a80) at /home/jwakely/src/gcc/libgcc/unwind.inc:88 #4 0x00000fff955c4240 in __cxxabiv1::__cxa_throw (obj=0x1002b397aa0, tinfo=0x10013e00, dest= @0x10014260: 0x100029f0 <std::tr1::bad_weak_ptr::~bad_weak_ptr()>) at /home/jwakely/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:78 #5 0x0000000010002c18 in std::tr1::__throw_bad_weak_ptr () at /home/jwakely/gcc/4.x/lib/gcc/powerpc64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/tr1/shared_ptr.h:76 #6 0x000000001000127c in _M_add_ref_lock (this=0x1002b383ec0) at /home/jwakely/gcc/4.x/lib/gcc/powerpc64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/tr1/shared_ptr.h:244 #7 __shared_count (__r=..., this=<synthetic pointer>) at /home/jwakely/gcc/4.x/lib/gcc/powerpc64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/tr1/shared_ptr.h:494 #8 __shared_ptr<A> (__r=..., this=<synthetic pointer>) at /home/jwakely/gcc/4.x/lib/gcc/powerpc64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/tr1/shared_ptr.h:586 #9 shared_ptr<A> (__r=std::tr1::weak_ptr (expired, weak 10) 0x1002b383ea0, this=<synthetic pointer>) at /home/jwakely/gcc/4.x/lib/gcc/powerpc64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/tr1/shared_ptr.h:1015 #10 thread_hammer (opaque_weak=0x1002b39b5c8) at default_weaktoshared.cc:132 #11 0x00000080ef8ec9f0 in start_thread (arg=0xfff94cbf1e0) at pthread_create.c:311 #12 0x00000080ef7f0774 in .__clone () from /lib64/libc-2.14.90.so