aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/trace
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-06-14 22:58:54 +0200
committerDmitry Vyukov <dvyukov@google.com>2015-06-14 21:57:24 +0000
commit202de394f2f7864eb871d65b733479115cfabc39 (patch)
tree533a3e3280e0df8d4ee30b8e65e3f3b497177b67 /src/cmd/trace
parent9a8750b2765184b3bfa555ac7cce6e28e45de03e (diff)
downloadgo-202de394f2f7864eb871d65b733479115cfabc39.tar.xz
cmd/trace: fix panic in goroutine profile
In generateTrace we check that event timestamp is within the interesting range. Then later in traceContext.time we double check event time. However, for some events (e.g. emitSlice) we convert time of ev.Link (slice end) rather than ev itself (slice begin). Slice end can be outside of the interesting time range, and so traceContext.time crashes. Remove the check in traceContext.time, check in generateTrace loop is sufficient. Change-Id: If94e93b5653c5816c0a8dcdd920f15df97616835 Reviewed-on: https://go-review.googlesource.com/11100 Reviewed-by: Andrew Gerrand <adg@golang.org>
Diffstat (limited to 'src/cmd/trace')
-rw-r--r--src/cmd/trace/trace.go4
1 files changed, 0 insertions, 4 deletions
diff --git a/src/cmd/trace/trace.go b/src/cmd/trace/trace.go
index 6b5cfe30e5..29fae015ed 100644
--- a/src/cmd/trace/trace.go
+++ b/src/cmd/trace/trace.go
@@ -322,10 +322,6 @@ func (ctx *traceContext) emit(e *ViewerEvent) {
}
func (ctx *traceContext) time(ev *trace.Event) int64 {
- if ev.Ts < ctx.startTime || ev.Ts > ctx.endTime {
- fmt.Printf("ts=%v startTime=%v endTime=%v\n", ev.Ts, ctx.startTime, ctx.endTime)
- panic("timestamp is outside of trace range")
- }
// NOTE: trace viewer wants timestamps in microseconds and it does not
// handle fractional timestamps (rounds them). We give it timestamps
// in nanoseconds to avoid rounding. See: