]> Cypherpunks repositories - gostls13.git/commit
runtime: clear Defer.panic before removing from G.defer list
authorRuss Cox <rsc@golang.org>
Wed, 8 Oct 2014 03:17:31 +0000 (23:17 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 8 Oct 2014 03:17:31 +0000 (23:17 -0400)
commite6708ee9b1a0713a10cb15ba4b7e4415c543851a
treec6ad0de4b0ce63fd05a31f7e75210a569ea1843c
parent3492ee5d3a7f7d41194378d9e1d74fadacef0c5e
runtime: clear Defer.panic before removing from G.defer list

Another dangling stack pointer in a cached structure.
Same as SudoG.elem and SudoG.selectdone.

Definitely a fix, and the new test in freedefer makes the
crash reproducible, but probably not a complete fix.
I have seen one dangling pointer in a Defer.panic even
after this fix; I cannot see where it could be coming from.

I think this will fix the solaris build.
I do not think this will fix the occasional failure on the darwin build.

TBR=khr
R=khr
CC=golang-codereviews
https://golang.org/cl/155080043
src/runtime/panic.c
src/runtime/panic.go