1
0
mirror of https://github.com/golang/go synced 2024-09-24 17:20:12 -06:00
go/test/fixedbugs/issue8132.go
Russ Cox bcfe519d58 runtime: fix correctness test at end of traceback
We were requiring that the defer stack and the panic stack
be completely processed, thinking that if any were left over
the stack scan and the defer stack/panic stack must be out
of sync. It turns out that the panic stack may well have
leftover entries in some situations, and that's okay.

Fixes #8132.

LGTM=minux, r
R=golang-codereviews, minux, r
CC=golang-codereviews, iant, khr
https://golang.org/cl/100900044
2014-06-01 13:57:46 -04:00

33 lines
535 B
Go

// run
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// issue 8132. stack walk handling of panic stack was confused
// about what was legal.
package main
import "runtime"
var p *int
func main() {
func() {
defer func() {
runtime.GC()
recover()
}()
var x [8192]byte
func(x [8192]byte) {
defer func() {
if err := recover(); err != nil {
println(*p)
}
}()
println(*p)
}(x)
}()
}