diff options
| author | David Finkel <david.finkel@gmail.com> | 2026-03-04 16:34:24 -0500 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-03-10 20:06:24 -0700 |
| commit | 3694f3369276d072d3eccd03b1855b18d3ecee18 (patch) | |
| tree | 12197149c3df09e26d3c305592ff129aebc71d40 /src/internal | |
| parent | 38ac6577cb8cf1ad6cb86cc9a0b6a76276932a79 (diff) | |
| download | go-3694f3369276d072d3eccd03b1855b18d3ecee18.tar.xz | |
runtime: GODEBUG=tracebacklabels=1 for 1.27+
https://go.dev/cl/742580 updated the goroutine label format in
tracebacks to only quote the values under some circumstances, and use a
more broadly acceptable format. Flip the GODEBUG=tracebacklabels default
for go 1.27+ modules.
Notably, tracebacklabels is marked as Opaque to avoid some diciness in
maintaining a usage metric in signal handlers, etc. (where mutex
acquisition may be problematic)
Also, update the go 1.27 release notes to call out the new feature.
Updates #76349
Change-Id: Iedd3f6b17d83e99da20365b952a565022d20ff13
Reviewed-on: https://go-review.googlesource.com/c/go/+/751580
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Alan Donovan <adonovan@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Diffstat (limited to 'src/internal')
| -rw-r--r-- | src/internal/godebugs/table.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/internal/godebugs/table.go b/src/internal/godebugs/table.go index 5e33a0b0f3..7ddfad14ea 100644 --- a/src/internal/godebugs/table.go +++ b/src/internal/godebugs/table.go @@ -68,6 +68,10 @@ var All = []Info{ {Name: "tlssecpmlkem", Package: "crypto/tls", Changed: 26, Old: "0", Opaque: true}, {Name: "tlssha1", Package: "crypto/tls", Changed: 25, Old: "1"}, {Name: "tlsunsafeekm", Package: "crypto/tls", Changed: 22, Old: "1"}, + // Mark tracebacklabels as Opaque so we don't generate a metric that we can't increment. + // IncNonDefault uses a sync.Once, which involves sync.Mutex, and is not safe from a signal handler. + // (Tracebacks are generated in signal-handlers.) + {Name: "tracebacklabels", Package: "runtime", Changed: 27, Old: "0", Opaque: true}, {Name: "updatemaxprocs", Package: "runtime", Changed: 25, Old: "0"}, {Name: "urlmaxqueryparams", Package: "net/url", Changed: 24, Old: "0"}, {Name: "urlstrictcolons", Package: "net/url", Changed: 26, Old: "0"}, |
