]> Cypherpunks repositories - gostls13.git/commit
runtime: avoid recursive panic on bad lock count
authorAustin Clements <austin@google.com>
Thu, 21 Jun 2018 20:56:13 +0000 (16:56 -0400)
committerAustin Clements <austin@google.com>
Fri, 22 Jun 2018 00:28:25 +0000 (00:28 +0000)
commit4991bc6257a9e9d922f7b6e29e393d764c4e4295
treed5783224ef0e0392d2395cbf0b1ab6fdf510e65e
parent011ea87921cb37dc8e4147d99c22234f875d2651
runtime: avoid recursive panic on bad lock count

Currently, if lock or unlock calls throw because the g.m.lock count is
corrupted, we're unlikely to get a stack trace because startpanic_m
will itself attempt to acquire a lock, causing a recursive failure.

Avoid this by forcing the g.m.locks count to a sane value if it's
currently bad.

This might be enough to get a stack trace from #25128.

Change-Id: I52d7bd4717ffae94a821f4249585f3eb6cd5aa41
Reviewed-on: https://go-review.googlesource.com/120416
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/panic.go