]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/trace: report negative frequency as a time-ordering problem
authorRuss Cox <rsc@golang.org>
Thu, 30 Jul 2015 17:39:30 +0000 (13:39 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 30 Jul 2015 20:32:01 +0000 (20:32 +0000)
This should fix the solaris/amd64 builder.

Change-Id: Idd6460cc9e842f7b874c9757379986aa723c974c
Reviewed-on: https://go-review.googlesource.com/12922
Reviewed-by: Austin Clements <austin@google.com>
src/internal/trace/parser.go

index 294a52f9764bb96639958edde66b24d010d220ff..1eb39ddd76ce1d7d7c7616ee91027b673b91ba8c 100644 (file)
@@ -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: