common: Added debug reporter
NOTE: For known, non-consensus, hard to reproduce bugs consider the following method `common.Report("extra", stuff, "you need logged")` will give you a stack trace and a friendly request to submit it as an issue on our issue tracker.
This commit is contained in:
parent
eaf73b55bc
commit
52c874a609
20
common/debug.go
Normal file
20
common/debug.go
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package common
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"runtime"
|
||||||
|
"runtime/debug"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Report(extra ...interface{}) {
|
||||||
|
fmt.Fprintln(os.Stderr, "You've encountered a sought after, hard to reproduce bug. Please report this to the developers <3 https://github.com/ethereum/go-ethereum/issues")
|
||||||
|
fmt.Fprintln(os.Stderr, extra...)
|
||||||
|
|
||||||
|
_, file, line, _ := runtime.Caller(1)
|
||||||
|
fmt.Fprintf(os.Stderr, "%v:%v\n", file, line)
|
||||||
|
|
||||||
|
debug.PrintStack()
|
||||||
|
|
||||||
|
fmt.Fprintln(os.Stderr, "#### BUG! PLEASE REPORT ####")
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user