]> Cypherpunks repositories - gostls13.git/commitdiff
internal/trace: fix off-by-one error in arguments for exp events
authorMichael Anthony Knyszek <mknyszek@google.com>
Wed, 29 May 2024 16:10:27 +0000 (16:10 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 30 May 2024 12:39:00 +0000 (12:39 +0000)
There's an off-by-one error in computing the Args field for experimental
events, resulting in confusing output. This wasn't caught because no
test actually checks to make sure the experimental arguments make sense
yet.

Change-Id: I339677a80bee6319407fced20d5e0f9c2fd235b3
Reviewed-on: https://go-review.googlesource.com/c/go/+/589055
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
src/internal/trace/event.go

index e30e20ecbbf15e79c68b4052af474b07f5d7fd22..a5d5637e60da063afebfd22a6defa66087629757 100644 (file)
@@ -663,11 +663,11 @@ func (e Event) Experimental() ExperimentalEvent {
                panic("Experimental called on non-Experimental event")
        }
        spec := go122.Specs()[e.base.typ]
-       argNames := spec.Args[1:]
+       argNames := spec.Args[1:] // Skip timestamp; already handled.
        return ExperimentalEvent{
                Name:     spec.Name,
-               ArgNames: argNames, // Skip timestamp; already handled.
-               Args:     e.base.args[1 : 1+len(argNames)],
+               ArgNames: argNames,
+               Args:     e.base.args[:len(argNames)],
                Data:     e.table.expData[spec.Experiment],
        }
 }