runtime: don't always show frames with no function in traceback

If there is no function name, the traceback is generally
    uninformative.  In earlier versions we did not show such frames.
    Restore that behavior.  These frames can be seen with GOTRACEBACK=system.
    
    Reviewed-on: https://go-review.googlesource.com/45431

From-SVN: r249156
This commit is contained in:
Ian Lance Taylor 2017-06-13 13:29:26 +00:00
parent 5622463a6d
commit 09a871c466
2 changed files with 2 additions and 2 deletions

View File

@ -1,4 +1,4 @@
3b44ad058abda0d1b0b6c928987270da50ab7431
c4ecdd3edb9febe72b5527481ae3d7310105ca67
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -94,7 +94,7 @@ func showframe(name string, gp *g) bool {
// We want to print those in the traceback.
// But unless GOTRACEBACK > 1 (checked below), still skip
// internal C functions and cgo-generated functions.
if !contains(name, ".") && !hasprefix(name, "__go_") && !hasprefix(name, "_cgo_") {
if name != "" && !contains(name, ".") && !hasprefix(name, "__go_") && !hasprefix(name, "_cgo_") {
return true
}