diff options
author | Keith Randall <khr@golang.org> | 2020-08-20 14:22:30 -0700 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2020-09-18 17:21:06 +0000 |
commit | d91d0762c7757c12c7d5f9e2ae3f170d5bd7ba84 (patch) | |
tree | 9e8f3dfd38e462c88f765c4352ac1dbfa3d3ab55 /src/runtime/panic.go | |
parent | 65dfe4a772a4bc612219d93886e5c07290785ee6 (diff) | |
download | go-d91d0762c7757c12c7d5f9e2ae3f170d5bd7ba84.tar.gz go-d91d0762c7757c12c7d5f9e2ae3f170d5bd7ba84.zip |
runtime/debug: provide Addr method for errors from SetPanicOnFault
When we're building a panic that's triggered by a memory fault when
SetPanicOnFault has been called, include an Addr method. This
method reports the address at which the fault occurred.
Fixes #37023
RELNOTE=yes
Change-Id: Idff144587d6b75070fdc861a36efec76f4ec7384
Reviewed-on: https://go-review.googlesource.com/c/go/+/249677
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Keith Randall <khr@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/panic.go')
-rw-r--r-- | src/runtime/panic.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtime/panic.go b/src/runtime/panic.go index 127843b081..6050a34d29 100644 --- a/src/runtime/panic.go +++ b/src/runtime/panic.go @@ -212,6 +212,11 @@ func panicmem() { panic(memoryError) } +func panicmemAddr(addr uintptr) { + panicCheck2("invalid memory address or nil pointer dereference") + panic(errorAddressString{msg: "invalid memory address or nil pointer dereference", addr: addr}) +} + // Create a new deferred function fn with siz bytes of arguments. // The compiler turns a defer statement into a call to this. //go:nosplit |