Skip to content

[pull] master from golang:master#39

Merged
pull[bot] merged 19 commits into
trailofbits:masterfrom
golang:master
May 18, 2026
Merged

[pull] master from golang:master#39
pull[bot] merged 19 commits into
trailofbits:masterfrom
golang:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 18, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

FiloSottile and others added 19 commits May 18, 2026 09:09
Fixes #76133

Change-Id: I7889aeff2ed197ee15f2ce7689b99b936a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/778660
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
…tress tests

This CL attempts to reduce flakes for two goroutine leak profiler subtests:
 - overlapping_profile_requests
 - overlapping_goroutine_and_goroutine_leak_profile_requests

Watchflake issues #76540 and #76749 currently have ~300 comments between
them. A prior round of deflaking I think reduced the frequency, but
watchflakes is reporting maybe a dozen or so a week recently between
them (though I did not analyze prior or current rate too closely).

These are essentially stress tests that look for data corruption
or data races while exercising the leak profiler concurrently
with itself and concurrently with the traditional goroutine
profiler.

The tests expect to find 6 leaked goroutines, but in some cases
seem to report 5. (This might be due to some rare event keeping
something alive such that 5 is the "correct" result from the
current implementation, though it might not be expected from
a user point of view.)

This CL loosens the check to allow 4, 5, or 6 goroutines.

A bad data corruption or data race might be kind enough to do more than
just alter the count by 1-2, and the test also verifies a
key function is in the detected goroutines, so perhaps this is
OK while people are trying to land CLs as the freeze approaches.

I also filed #79452 for tracking down a better root cause and
improving the test or profiler.

I'm optimistically marking the two main watchflakes issues as fixed
(perhaps too optimistically), but watchflakes will re-open if needed.

Fixes #76749
Fixes #76540
Updates #79409
Updates #79452

Change-Id: I14b4178337c0cf2a2bbd4b8c5256090ae202b8d8
Reviewed-on: https://go-review.googlesource.com/c/go/+/778620
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Georgian-Vlad Saioc <vsaioc@uber.com>
Change-Id: Ia2166ac4770a101723616fadff20948a6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/776700
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Change-Id: I6afbde4b57028fccc49a6cefab90d6bc6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/776701
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
TryBot-Bypass: Filippo Valsorda <filippo@golang.org>
Change-Id: I33c759d92123b39bd2596379bf8b95be6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/776702
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Reviewed-by: Roland Shoemaker <roland@golang.org>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Also, make single-test fixtures local to the test that uses them.

Updates #79367

Change-Id: I4928d499206b529b92d532e41c8c7c4e6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/776703
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Change-Id: I13794baf4ae086d553b78031ff93b1d46a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/776704
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Also, update related comments.

Updates #70505

Change-Id: I3fdcf81f86f8eaf7834223eb854824356a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/776705
Reviewed-by: Roland Shoemaker <roland@golang.org>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
TryBot-Bypass: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Calling New otherwise panics, which is unnecessary, especially in
crypto.SignMessage and especially if we add a new not-implemented hash
value for ML-DSA external Mu.

Change-Id: I9f8d29d01e126838d7d2585133e562536a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/745660
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Change-Id: I6834dda4b1fe5db5710d1020b26104ba6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/745661
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Align with the new c2sp.org/det-keygen specification in C2SP/C2SP#197
and import the new benchmarks from C2SP/CCTV#25 since the old ones did
not have candidates ≡ 7 mod 8.

Change-Id: Ie7a36ae4458e0c113593c972d7783bd16a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/733440
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Reviewed-by: Sophie Schmieg <sschmieg@google.com>
Change-Id: I3552a3c9c3de5f2d2d1902682214b1536a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/763020
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Change-Id: I6ddf1e2af4f2d139e54821f10b99d9de6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/738160
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Reviewed-by: Michael Pratt <mpratt@google.com>
Added the condition to check if the token is inside of statement
(token.IDENT), where we should not treat comments as unindented
top-level doc comments.

I would also add, in another patch, functions to detect the statement,
expression context to simplify conditions in printer.intersperseComments()
as pointed out in TODO(gri).

Fixes #52605

Change-Id: Ia111cd09821c78c5c84e53524ad0649e01f489b4
Reviewed-on: https://go-review.googlesource.com/c/go/+/579978
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
Reviewed-by: Russ Cox <rsc@golang.org>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Hyang-Ah Hana Kim <hyangah@gmail.com>
Replace our variable time GHASH implementation with a constant-time one.
This implementation is slower on platforms which lack native AES
instructions (the only places we use the generic implementation), but
that is a reasonable trade-off to remove one of the remaining
variable-time pieces of the generic AES implementation.

The technique used in this implementation is based on the technique
described in the BearSSL constant-time notes[0] with Karatsuba
multiplication to decompose the 128-bit multiplication into smaller
pieces.

[0] https://www.bearssl.org/constanttime.html#ghash-for-gcm

goos: darwin
goarch: arm64
pkg: crypto/internal/fips140/aes/gcm
cpu: Apple M1 Pro
              │ ghash-vt.bench │            ghash-ct.bench            │
              │     sec/op     │    sec/op     vs base                │
GHASH/16-10        72.41n ± 2%   129.85n ± 1%  +79.31% (p=0.000 n=10)
GHASH/32-10        130.5n ± 3%    243.3n ± 0%  +86.44% (p=0.000 n=10)
GHASH/64-10        248.7n ± 1%    474.2n ± 1%  +90.69% (p=0.000 n=10)
GHASH/128-10       487.0n ± 1%    953.3n ± 2%  +95.75% (p=0.000 n=10)
GHASH/256-10       952.7n ± 2%   1893.0n ± 3%  +98.71% (p=0.000 n=10)
GHASH/512-10       1.893µ ± 1%    3.775µ ± 2%  +99.47% (p=0.000 n=10)
GHASH/1024-10      3.777µ ± 2%    7.472µ ± 2%  +97.84% (p=0.000 n=10)
geomean            499.8n         962.0n       +92.47%

                        │ aes-vt-ghash.bench │          aes-ct-ghash.bench          │
                        │       sec/op       │    sec/op     vs base                │
AESGCM/Open-128-64-10           688.6n ±  2%   1007.5n ± 4%  +46.31% (p=0.000 n=10)
AESGCM/Seal-128-64-10           672.8n ±  2%    998.0n ± 1%  +48.34% (p=0.000 n=10)
AESGCM/Open-256-64-10           788.2n ±  0%   1110.0n ± 0%  +40.83% (p=0.000 n=10)
AESGCM/Seal-256-64-10           789.2n ±  4%   1104.0n ± 0%  +39.89% (p=0.000 n=10)
AESGCM/Open-128-1350-10         9.535µ ±  2%   14.091µ ± 0%  +47.78% (p=0.000 n=10)
AESGCM/Seal-128-1350-10         9.512µ ±  1%   14.065µ ± 0%  +47.87% (p=0.000 n=10)
AESGCM/Open-256-1350-10         11.08µ ±  0%    15.67µ ± 3%  +41.45% (p=0.000 n=10)
AESGCM/Seal-256-1350-10         11.20µ ±  2%    15.96µ ± 1%  +42.46% (p=0.000 n=10)
AESGCM/Open-128-8192-10         55.66µ ± 23%    84.01µ ± 1%  +50.94% (p=0.002 n=10)
AESGCM/Seal-128-8192-10         55.44µ ±  1%    83.85µ ± 5%  +51.23% (p=0.000 n=10)
AESGCM/Open-256-8192-10         64.88µ ±  2%    93.23µ ± 0%  +43.70% (p=0.000 n=10)
AESGCM/Seal-256-8192-10         64.47µ ±  1%    93.15µ ± 0%  +44.48% (p=0.000 n=10)
geomean                         7.676µ          11.16µ       +45.39%

Updates #69025

Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest,x_crypto-gotip-linux-amd64-longtest
Change-Id: I29f916ce30bfdb5c83885369e1cb6aff5ea5d4fe
Reviewed-on: https://go-review.googlesource.com/c/go/+/746120
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Reviewed-by: Neal Patel <nealpatel@google.com>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Auto-Submit: Roland Shoemaker <roland@golang.org>
In TestServerNoWriteTimeout, shutting down the server seems insufficient
to guarantee that the server handler is done by the time the test exits
for HTTP/2. As the test shuts down, t.done is written within
testing.tRunner, while the server handler goroutine simultaneously reads
t.done while executing t.Logf.

For #79409

Change-Id: I036ed8a4f47de7ed1bbfeeb482bb562c6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/779120
Reviewed-by: Damien Neil <dneil@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Nicholas Husin <husin@google.com>
This is an implementation of proposal #77362.
Add it as an internal package so we can use it for fake networking
support in net/http/httptest.

This can also eventually replace the fake network implementations
in net/http and net/http/internal/http2.

For #77362
For #76608

Change-Id: Ida069e139ede90bf01e413f2a69cf0116a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/769520
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Nicholas Husin <husin@google.com>
Reviewed-by: Nicholas Husin <nsh@golang.org>
Auto-Submit: Damien Neil <dneil@google.com>
NewTestServer takes a *testing.T. It uses it to register a
Cleanup function to shut down the server at the end of a test,
and to fail the test when a server handler panics.

NewTestServer uses an in-memory fake network by default,
suitable for use with the testing/synctest package.
The user can choose to use the loopback network instead
by calling Start or StartTLS.

For #76608

Change-Id: Ic99e304f1a809a4727aaa9f7316f60ec6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/769521
Reviewed-by: Nicholas Husin <husin@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Nicholas Husin <nsh@golang.org>
Auto-Submit: Damien Neil <dneil@google.com>
This change flips the use of GOEXPERIMENT=genericmethods around.
We now default to V4 and revert to V3 if the flag is enabled.
This helps rule out generic methods entirely if we encounter
issues during the freeze which might be related.

Again, this flag will not be included in the Go 1.27 release.

For #77273

Change-Id: Ic68faff197867ba672107f07fa2b92ce64b9d3ef
Reviewed-on: https://go-review.googlesource.com/c/go/+/779221
Reviewed-by: Robert Griesemer <gri@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
@pull pull Bot locked and limited conversation to collaborators May 18, 2026
@pull pull Bot added the ⤵️ pull label May 18, 2026
@pull pull Bot merged commit 1b1497b into trailofbits:master May 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants