aboutsummaryrefslogtreecommitdiff
path: root/src/internal
diff options
context:
space:
mode:
authorDavid Finkel <david.finkel@gmail.com>2026-03-04 16:34:24 -0500
committerGopher Robot <gobot@golang.org>2026-03-10 20:06:24 -0700
commit3694f3369276d072d3eccd03b1855b18d3ecee18 (patch)
tree12197149c3df09e26d3c305592ff129aebc71d40 /src/internal
parent38ac6577cb8cf1ad6cb86cc9a0b6a76276932a79 (diff)
downloadgo-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.go4
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"},