]> Cypherpunks repositories - gostls13.git/commit
runtime: don't grow the stack on sigpanic if throwsplit
authorAustin Clements <austin@google.com>
Fri, 12 Jan 2018 17:03:49 +0000 (12:03 -0500)
committerAustin Clements <austin@google.com>
Tue, 23 Jan 2018 19:50:18 +0000 (19:50 +0000)
commit9483a0bc23904af80e47aaa8cf1239b3012246d2
treedea84ac3701eb61054260b04501ab743db375316
parent9b49ac0366d3e3948adf5a30bfcff52049e1799a
runtime: don't grow the stack on sigpanic if throwsplit

Currently, if a _SigPanic signal arrives in a throwsplit context,
nothing is stopping the runtime from injecting a call to sigpanic that
may attempt to grow the stack. This will fail and, in turn, mask the
real problem.

Fix this by checking for throwsplit in the signal handler itself
before injecting the sigpanic call.

Updates #21431, where this problem is likely masking the real problem.

Change-Id: I64b61ff08e8c4d6f6c0fb01315d7d5e66bf1d3e2
Reviewed-on: https://go-review.googlesource.com/87595
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/os3_plan9.go
src/runtime/panic.go
src/runtime/signal_sighandler.go
src/runtime/signal_unix.go
src/runtime/signal_windows.go