• obscuren's avatar
    common: Added debug reporter · 52c874a6
    obscuren authored
    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.
    52c874a6
debug.go 481 Bytes
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 ####")
}