From ca6f7e45cbe33a1952a47d0846b1a9096bda5db7 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 30 Jul 2015 13:39:30 -0400 Subject: [PATCH] runtime/trace: report negative frequency as a time-ordering problem This should fix the solaris/amd64 builder. Change-Id: Idd6460cc9e842f7b874c9757379986aa723c974c Reviewed-on: https://go-review.googlesource.com/12922 Reviewed-by: Austin Clements --- src/internal/trace/parser.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/internal/trace/parser.go b/src/internal/trace/parser.go index 294a52f976..1eb39ddd76 100644 --- a/src/internal/trace/parser.go +++ b/src/internal/trace/parser.go @@ -191,8 +191,10 @@ func parseEvents(rawEvents []rawEvent) (events []*Event, err error) { case EvFrequency: ticksPerSec = int64(raw.args[0]) if ticksPerSec <= 0 { - err = fmt.Errorf("EvFrequency contains invalid frequency %v at offset 0x%x", - ticksPerSec, raw.off) + // The most likely cause for this is tick skew on different CPUs. + // For example, solaris/amd64 seems to have wildly different + // ticks on different CPUs. + err = ErrTimeOrder return } case EvTimerGoroutine: