Skip to content
This repository has been archived by the owner on Aug 30, 2023. It is now read-only.

Print the recovered value before dumping stack trace #110

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kevinburke
Copy link

Previously the RecoveryHandler would catch panics and log them to Sentry, but
not log any information about the error to stderr, making it more difficult to
debug than an ordinary panic. Instead, print a pseudo-panic header to stderr
before printing the stack trace.

Stderr printed by the RecoveryHandler on a panic now looks like this:

panic: unknown property Region

goroutine 55 [running]:
runtime/debug.Stack(0x19, 0x0, 0x0)
    /Users/kevin/go/src/runtime/debug/stack.go:24 +0x79
runtime/debug.PrintStack()
    /Users/kevin/go/src/runtime/debug/stack.go:16 +0x22
github.com/saintpete/logrole/vendor/github.com/getsentry/raven-go.RecoveryHandler.func1.1(0xc420746e10, 0x791be0, 0xc4205d1e90)
    /Users/kevin/code/go/src/github.com/saintpete/logrole/vendor/github.com/getsentry/raven-go/http.go:100 +0x106
panic(0x46d760, 0xc4204d0210)
    /Users/kevin/go/src/runtime/panic.go:458 +0x243
text/template.errRecover(0xc4207a5248)
    /Users/kevin/go/src/text/template/exec.go:146 +0x18e

Fixes #109.

Previously the RecoveryHandler would catch panics and log them to Sentry, but
not log any information about the error to stderr, making it more difficult to
debug than an ordinary panic. Instead, print a pseudo-panic header to stderr
before printing the stack trace.

Stderr printed by the RecoveryHandler on a panic now looks like this:

```
panic: unknown property Region

goroutine 55 [running]:
runtime/debug.Stack(0x19, 0x0, 0x0)
	/Users/kevin/go/src/runtime/debug/stack.go:24 +0x79
runtime/debug.PrintStack()
	/Users/kevin/go/src/runtime/debug/stack.go:16 +0x22
github.com/saintpete/logrole/vendor/github.com/getsentry/raven-go.RecoveryHandler.func1.1(0xc420746e10, 0x791be0, 0xc4205d1e90)
	/Users/kevin/code/go/src/github.com/saintpete/logrole/vendor/github.com/getsentry/raven-go/http.go:100 +0x106
panic(0x46d760, 0xc4204d0210)
	/Users/kevin/go/src/runtime/panic.go:458 +0x243
text/template.errRecover(0xc4207a5248)
	/Users/kevin/go/src/text/template/exec.go:146 +0x18e
```

Fixes getsentry#109.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant