diff options
author | Tiwei Bie <tiwei.btw@antgroup.com> | 2020-10-15 01:43:51 +0000 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2020-10-24 03:15:23 +0000 |
commit | bc0b198bd75a8eef45d0965531ba6fa127d0e8ec (patch) | |
tree | 49736329131f8522e71389d0bff978fbc4fa124e | |
parent | 94eda9ae37d9f8a34c44c1ad1a030b4475f79faf (diff) | |
download | go-bc0b198bd75a8eef45d0965531ba6fa127d0e8ec.tar.gz go-bc0b198bd75a8eef45d0965531ba6fa127d0e8ec.zip |
runtime: dump the status of lockedg on error
The dumpgstatus() will dump current g's status anyway. When lockedg's
status is bad, it's more helpful to dump lockedg's status as well than
dumping current g's status twice.
Change-Id: If5248cb94b9cdcbf4ceea07562237e1d6ee28489
GitHub-Last-Rev: da814c51ff42f56fb28582f088f4d72b500061fe
GitHub-Pull-Request: golang/go#40248
Reviewed-on: https://go-review.googlesource.com/c/go/+/243097
Reviewed-by: Keith Randall <khr@golang.org>
Trust: Emmanuel Odeke <emm.odeke@gmail.com>
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
-rw-r--r-- | src/runtime/proc.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/proc.go b/src/runtime/proc.go index aeacb23391..83d2a524e0 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -2302,8 +2302,8 @@ func stoplockedm() { mPark() status := readgstatus(_g_.m.lockedg.ptr()) if status&^_Gscan != _Grunnable { - print("runtime:stoplockedm: g is not Grunnable or Gscanrunnable\n") - dumpgstatus(_g_) + print("runtime:stoplockedm: lockedg (atomicstatus=", status, ") is not Grunnable or Gscanrunnable\n") + dumpgstatus(_g_.m.lockedg.ptr()) throw("stoplockedm: not runnable") } acquirep(_g_.m.nextp.ptr()) |