Comment 10 for bug 1304754

This doesn't explain why we failed in the first place however. Using gdb, I have seen a couple of SEGVs in:

* 1 Thread 0x3fffa8c447e0 (LWP 5562) "jujud" timerproc (dummy=<optimized out>) at ../../../gcc/libgo/runtime/time.goc:217

ie:

                        f = (void*)t->fv->fn;

Perhaps a stale timer that we aren't cancelling?

I've also seen a fail here:

fatal error: runtime_lock: lock count

goroutine 2 [running]:
runtime_dopanic
        ../../../gcc/libgo/runtime/panic.c:78
runtime_throw
        ../../../gcc/libgo/runtime/panic.c:116
runtime_lock
        ../../../gcc/libgo/runtime/lock_futex.c:41
runtime_allocmcache
        ../../../gcc/libgo/runtime/malloc.goc:337
runtime_startpanic
        ../../../gcc/libgo/runtime/panic.c:46
runtime_throw
        ../../../gcc/libgo/runtime/panic.c:114
runtime_unlock
        ../../../gcc/libgo/runtime/lock_futex.c:101
runtime_MHeap_Scavenger
        ../../../gcc/libgo/runtime/mheap.c:482
kickoff
        ../../../gcc/libgo/runtime/proc.c:237

        :0

        :0
created by runtime_main
        ../../../gcc/libgo/runtime/proc.c:565