commit | 24f246c1b6fba4f8faf29b2d0cf3583f9bb04135 | [log] [tgz] |
---|---|---|
author | Dmitry Vyukov <dvyukov@google.com> | Tue Apr 14 12:46:15 2015 +0300 |
committer | Dmitry Vyukov <dvyukov@google.com> | Tue Apr 14 15:45:26 2015 +0000 |
tree | 02363b21311f03f7e16c2213fbbea833a1ca002f | |
parent | 3b22ffc07ec0f4114362425ca004081fcdd708df [diff] |
cmd/gc: fix crash during escape analysis Fixes #10441 Compiler crashed as: panic: runtime error: invalid memory address or nil pointer dereference goroutine 1 [running]: cmd/internal/gc.haspointers(0x0, 0xffffffffffffffff) src/cmd/internal/gc/reflect.go:623 +0x1f cmd/internal/gc.escwalk(0x20c82dc00, 0xffffffffffffffff, 0x20c82dda0, 0x20c835520) src/cmd/internal/gc/esc.go:1291 +0x14aa cmd/internal/gc.escwalk(0x20c82dc00, 0xffffffffffffffff, 0x20c82dda0, 0x20beac340) src/cmd/internal/gc/esc.go:1386 +0x836 while evaluating haspointers of the fake OADDR node here: leaks = level <= 0 && dst.Escloopdepth < src.Escloopdepth || level < 0 && dst == &e.funcParam && haspointers(src.Type) Change-Id: I13c23fced52e8fcd0ae1df81b374df8632eb7790 Reviewed-on: https://go-review.googlesource.com/8932 Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
For documentation about how to install and use Go, visit https://golang.org/ or load doc/install-source.html in your web browser.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Please report issues here: https://golang.org/issue/new
Go is the work of hundreds of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
If you have just untarred a binary Go distribution, you need to set the environment variable $GOROOT to the full path of the go directory (the one containing this file). You can omit the variable if you unpack it into /usr/local/go, or if you rebuild from sources by running all.bash (see doc/install-source.html). You should also add the Go binary directory $GOROOT/bin to your shell's path.
For example, if you extracted the tar file into $HOME/go, you might put the following in your .profile:
export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
See https://golang.org/doc/install or doc/install.html for more details.