[go] runtime: print error code on Windows VirtualAlloc failure

7 views
Skip to first unread message

Gerrit Bot (Gerrit)

unread,
Jan 10, 2026, 7:53:01 PM (7 days ago) Jan 10
to goph...@pubsubhelper.golang.org, Bill Morgan, golang-co...@googlegroups.com

Gerrit Bot has uploaded the change for review

Commit message

runtime: print error code on Windows VirtualAlloc failure

runtime: print error code on Windows VirtualAlloc failure

When VirtualAlloc fails on Windows, the resulting crash is currently
opaque. It is difficult to distinguish between physical memory exhaustion
(ERROR_NOT_ENOUGH_MEMORY), the commit limit being reached
(ERROR_COMMITMENT_LIMIT), or other system limits.

This change prints the GetLastError code to stderr when VirtualAlloc
returns nil to aid debugging.

Fixes #70558
Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
GitHub-Last-Rev: b1baaa1835c63abcaa77d0d879d5b232d446b142
GitHub-Pull-Request: golang/go#77145

Change diff

diff --git a/src/runtime/mem_windows.go b/src/runtime/mem_windows.go
index afc2dee..5729aa5 100644
--- a/src/runtime/mem_windows.go
+++ b/src/runtime/mem_windows.go
@@ -26,7 +26,13 @@
//
//go:nosplit
func sysAllocOS(n uintptr, _ string) unsafe.Pointer {
- return unsafe.Pointer(stdcall(_VirtualAlloc, 0, n, _MEM_COMMIT|_MEM_RESERVE, _PAGE_READWRITE))
+ p := stdcall(_VirtualAlloc, 0, n, _MEM_COMMIT|_MEM_RESERVE, _PAGE_READWRITE)
+ if p == 0 {
+ errno := getlasterror()
+ print("runtime: VirtualAlloc of ", n, " bytes failed with errno=", errno, "\n")
+ return nil
+ }
+ return unsafe.Pointer(p)
}

func sysUnusedOS(v unsafe.Pointer, n uintptr) {
@@ -120,14 +126,19 @@
func sysReserveOS(v unsafe.Pointer, n uintptr, _ string) unsafe.Pointer {
// v is just a hint.
// First try at v.
- // This will fail if any of [v, v+n) is already reserved.
- v = unsafe.Pointer(stdcall(_VirtualAlloc, uintptr(v), n, _MEM_RESERVE, _PAGE_READWRITE))
- if v != nil {
- return v
+ p := stdcall(_VirtualAlloc, uintptr(v), n, _MEM_RESERVE, _PAGE_READWRITE)
+ if p != 0 {
+ return unsafe.Pointer(p)
}

// Next let the kernel choose the address.
- return unsafe.Pointer(stdcall(_VirtualAlloc, 0, n, _MEM_RESERVE, _PAGE_READWRITE))
+ p = stdcall(_VirtualAlloc, 0, n, _MEM_RESERVE, _PAGE_READWRITE)
+ if p == 0 {
+ errno := getlasterror()
+ print("runtime: VirtualAlloc of ", n, " bytes failed with errno=", errno, "\n")
+ return nil
+ }
+ return unsafe.Pointer(p)
}

func sysMapOS(v unsafe.Pointer, n uintptr, _ string) {

Change information

Files:
  • M src/runtime/mem_windows.go
Change size: S
Delta: 1 file changed, 17 insertions(+), 6 deletions(-)
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newchange
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
Gerrit-Change-Number: 735360
Gerrit-PatchSet: 1
Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
Gerrit-CC: Bill Morgan <arthurwil...@gmail.com>
unsatisfied_requirement
satisfied_requirement
open
diffy

Gerrit Bot (Gerrit)

unread,
Jan 10, 2026, 8:01:56 PM (7 days ago) Jan 10
to Bill Morgan, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

Gerrit Bot uploaded new patchset

Gerrit Bot uploaded patch set #2 to this change.
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newpatchset
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
Gerrit-Change-Number: 735360
Gerrit-PatchSet: 2
unsatisfied_requirement
satisfied_requirement
open
diffy

Alex Brainman (Gerrit)

unread,
Jan 12, 2026, 11:05:29 PM (5 days ago) Jan 12
to Bill Morgan, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Keith Randall, Martin Möhrmann, Gopher Robot, golang-co...@googlegroups.com
Attention needed from Austin Clements, Keith Randall and Martin Möhrmann

Alex Brainman added 2 comments

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Alex Brainman . resolved

Thanks for sending the CL.

Please, answer my question below.

Alex

File src/runtime/mem_windows.go
Line 32, Patchset 2 (Latest): print("runtime: VirtualAlloc of ", n, " bytes failed with errno=", errno, "\n")
Alex Brainman . unresolved

If you look at the log https://logs.chromium.org/logs/golang/buildbucket/cr-buildbucket/8730352753718672849/+/u/step/19/log/2 mentioned at the issue https://github.com/golang/go/issues/70558#issue-2691890092 , you will see that the stack trace already prints that information, like

```
runtime: VirtualAlloc of 8192 bytes failed with errno=1455
```

Why do we need your CL to print similar information?

Open in Gerrit

Related details

Attention is currently required from:
  • Austin Clements
  • Keith Randall
  • Martin Möhrmann
Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement is not satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
    Gerrit-Change-Number: 735360
    Gerrit-PatchSet: 2
    Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Keith Randall <k...@golang.org>
    Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
    Gerrit-CC: Alex Brainman <alex.b...@gmail.com>
    Gerrit-CC: Bill Morgan <arthurwil...@gmail.com>
    Gerrit-CC: Gopher Robot <go...@golang.org>
    Gerrit-Attention: Keith Randall <k...@golang.org>
    Gerrit-Attention: Martin Möhrmann <moeh...@google.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Comment-Date: Tue, 13 Jan 2026 04:05:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Bill Morgan (Gerrit)

    unread,
    Jan 13, 2026, 7:50:57 PM (4 days ago) Jan 13
    to Gerrit Bot, goph...@pubsubhelper.golang.org, Alex Brainman, Austin Clements, Keith Randall, Martin Möhrmann, Gopher Robot, golang-co...@googlegroups.com
    Attention needed from Alex Brainman, Austin Clements, Keith Randall and Martin Möhrmann

    Bill Morgan added 2 comments

    Patchset-level comments
    Bill Morgan . resolved

    Thanks for the clarification Alex. I replied below.

    File src/runtime/mem_windows.go
    Line 32, Patchset 2 (Latest): print("runtime: VirtualAlloc of ", n, " bytes failed with errno=", errno, "\n")
    Alex Brainman . resolved

    If you look at the log https://logs.chromium.org/logs/golang/buildbucket/cr-buildbucket/8730352753718672849/+/u/step/19/log/2 mentioned at the issue https://github.com/golang/go/issues/70558#issue-2691890092 , you will see that the stack trace already prints that information, like

    ```
    runtime: VirtualAlloc of 8192 bytes failed with errno=1455
    ```

    Why do we need your CL to print similar information?

    Bill Morgan

    Thanks, I see what you mean now Alex. I tested by doing `_ = make([]byte, 200*1024*1024*1024*1024)` and did not get the errno printed out so I modified `sysAllocOS` and `sysReserveOS` behavior to be in line with `sysUsedOS` and tested to confirm I got the errno for that huge allocation failure. After a closer re-reading of the issue, I realize this doesn't really address the deeper 'unactionable' part of the original issue Alan mentioned though.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Alex Brainman
    • Austin Clements
    • Keith Randall
    • Martin Möhrmann
      Submit Requirements:
        • requirement is not satisfiedCode-Review
        • requirement satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        • requirement is not satisfiedTryBots-Pass
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
        Gerrit-Change-Number: 735360
        Gerrit-PatchSet: 2
        Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
        Gerrit-Reviewer: Austin Clements <aus...@google.com>
        Gerrit-Reviewer: Keith Randall <k...@golang.org>
        Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
        Gerrit-CC: Alex Brainman <alex.b...@gmail.com>
        Gerrit-CC: Bill Morgan <arthurwil...@gmail.com>
        Gerrit-CC: Gopher Robot <go...@golang.org>
        Gerrit-Attention: Keith Randall <k...@golang.org>
        Gerrit-Attention: Martin Möhrmann <moeh...@google.com>
        Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
        Gerrit-Attention: Austin Clements <aus...@google.com>
        Gerrit-Comment-Date: Wed, 14 Jan 2026 00:50:51 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Alex Brainman <alex.b...@gmail.com>
        unsatisfied_requirement
        satisfied_requirement
        open
        diffy

        Alex Brainman (Gerrit)

        unread,
        Jan 15, 2026, 12:01:02 AM (3 days ago) Jan 15
        to Bill Morgan, Gerrit Bot, goph...@pubsubhelper.golang.org, Austin Clements, Keith Randall, Martin Möhrmann, Gopher Robot, golang-co...@googlegroups.com
        Attention needed from Austin Clements, Bill Morgan, Keith Randall and Martin Möhrmann

        Alex Brainman voted and added 4 comments

        Votes added by Alex Brainman

        Commit-Queue+1

        4 comments

        Patchset-level comments
        Bill Morgan . resolved

        Thanks for the clarification Alex. I replied below.

        Alex Brainman

        I did not review your CL properly. I will do it once we agree what to do here.

        Commit Message
        Line 17, Patchset 2 (Latest):Fixes #70558
        Alex Brainman . unresolved

        s/Fixes/For/

        otherwise the issue will get close when we submit this CL.

        File src/runtime/mem_windows.go
        Line 32, Patchset 2 (Latest): print("runtime: VirtualAlloc of ", n, " bytes failed with errno=", errno, "\n")
        Alex Brainman . unresolved

        If you look at the log https://logs.chromium.org/logs/golang/buildbucket/cr-buildbucket/8730352753718672849/+/u/step/19/log/2 mentioned at the issue https://github.com/golang/go/issues/70558#issue-2691890092 , you will see that the stack trace already prints that information, like

        ```
        runtime: VirtualAlloc of 8192 bytes failed with errno=1455
        ```

        Why do we need your CL to print similar information?

        Bill Morgan

        Thanks, I see what you mean now Alex. I tested by doing `_ = make([]byte, 200*1024*1024*1024*1024)` and did not get the errno printed out so I modified `sysAllocOS` and `sysReserveOS` behavior to be in line with `sysUsedOS` and tested to confirm I got the errno for that huge allocation failure. After a closer re-reading of the issue, I realize this doesn't really address the deeper 'unactionable' part of the original issue Alan mentioned though.

        Alex Brainman

        Thanks for explaining what you see. I run this program

        ```
        package main

        import (
        "fmt"
        )
        func main() {

        _ = make([]byte, 200*1024*1024*1024*1024)
        	fmt.Printf("OK\n")
        }
        ```

        and indeed I see this stack trace

        ```
        runtime: out of memory: cannot allocate 219902325555200-byte block (4096000 in use)
        fatal error: out of memory

        goroutine 1 gp=0xc0000021c0 m=0 mp=0x7ff6619afbe0 [running]:
        ...
        ```

        so you are correct Windows error number is missing here.

        I suggest you add test to make sure that your change does not get lost.

        I also think we should stick to the same message format as in

        https://logs.chromium.org/logs/golang/buildbucket/cr-buildbucket/8730352753718672849/+/u/step/19/log/2

        but instead of

        ```
        runtime: VirtualAlloc of 8192 bytes failed with errno=1455

        fatal error: out of memory
        ```

        here it should say

        ```
        runtime: VirtualAlloc of 8192 bytes failed with errno=1455: cannot allocate 219902325555200-byte block (4096000 in use)
        fatal error: out of memory
        ```

        Please, confirm my suggestion at https://github.com/golang/go/issues/70558 to make sure everyone agrees.

        Line 129, Patchset 2 (Latest): p := stdcall(_VirtualAlloc, uintptr(v), n, _MEM_RESERVE, _PAGE_READWRITE)
        Alex Brainman . unresolved

        We need new test and adjust the message text similar to what I suggested in sysAllocOS.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Austin Clements
        • Bill Morgan
        • Keith Randall
        • Martin Möhrmann
        Submit Requirements:
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          • requirement is not satisfiedTryBots-Pass
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: go
          Gerrit-Branch: master
          Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
          Gerrit-Change-Number: 735360
          Gerrit-PatchSet: 2
          Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
          Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
          Gerrit-Reviewer: Austin Clements <aus...@google.com>
          Gerrit-Reviewer: Keith Randall <k...@golang.org>
          Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
          Gerrit-CC: Bill Morgan <arthurwil...@gmail.com>
          Gerrit-CC: Gopher Robot <go...@golang.org>
          Gerrit-Attention: Keith Randall <k...@golang.org>
          Gerrit-Attention: Martin Möhrmann <moeh...@google.com>
          Gerrit-Attention: Bill Morgan <arthurwil...@gmail.com>
          Gerrit-Attention: Austin Clements <aus...@google.com>
          Gerrit-Comment-Date: Thu, 15 Jan 2026 05:00:53 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          Comment-In-Reply-To: Bill Morgan <arthurwil...@gmail.com>
          Comment-In-Reply-To: Alex Brainman <alex.b...@gmail.com>
          unsatisfied_requirement
          open
          diffy

          Gerrit Bot (Gerrit)

          unread,
          Jan 16, 2026, 6:59:36 PM (24 hours ago) Jan 16
          to Bill Morgan, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
          Attention needed from Alex Brainman, Austin Clements, Bill Morgan, Keith Randall and Martin Möhrmann

          Gerrit Bot uploaded new patchset

          Gerrit Bot uploaded patch set #3 to this change.
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alex Brainman
          • Austin Clements
          • Bill Morgan
          • Keith Randall
          • Martin Möhrmann
            Submit Requirements:
              • requirement is not satisfiedCode-Review
              • requirement is not satisfiedNo-Unresolved-Comments
              • requirement is not satisfiedReview-Enforcement
              • requirement satisfiedTryBots-Pass
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: newpatchset
              Gerrit-Project: go
              Gerrit-Branch: master
              Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
              Gerrit-Change-Number: 735360
              Gerrit-PatchSet: 3
              Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
              Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
              Gerrit-Reviewer: Austin Clements <aus...@google.com>
              Gerrit-Reviewer: Keith Randall <k...@golang.org>
              Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
              Gerrit-CC: Bill Morgan <arthurwil...@gmail.com>
              Gerrit-CC: Gopher Robot <go...@golang.org>
              Gerrit-Attention: Keith Randall <k...@golang.org>
              Gerrit-Attention: Martin Möhrmann <moeh...@google.com>
              Gerrit-Attention: Bill Morgan <arthurwil...@gmail.com>
              unsatisfied_requirement
              satisfied_requirement
              open
              diffy

              Gerrit Bot (Gerrit)

              unread,
              12:01 PM (7 hours ago) 12:01 PM
              to Bill Morgan, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
              Attention needed from Alex Brainman, Austin Clements, Bill Morgan, Keith Randall and Martin Möhrmann

              Gerrit Bot uploaded new patchset

              Gerrit Bot uploaded patch set #4 to this change.
              Following approvals got outdated and were removed:
              • TryBots-Pass: LUCI-TryBot-Result+1 by Go LUCI
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Alex Brainman
              • Austin Clements
              • Bill Morgan
              • Keith Randall
              • Martin Möhrmann
              Submit Requirements:
                • requirement is not satisfiedCode-Review
                • requirement is not satisfiedNo-Unresolved-Comments
                • requirement is not satisfiedReview-Enforcement
                • requirement is not satisfiedTryBots-Pass
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: newpatchset
                Gerrit-Project: go
                Gerrit-Branch: master
                Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
                Gerrit-Change-Number: 735360
                Gerrit-PatchSet: 4
                unsatisfied_requirement
                open
                diffy

                Gerrit Bot (Gerrit)

                unread,
                1:29 PM (5 hours ago) 1:29 PM
                to Bill Morgan, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
                Attention needed from Alex Brainman, Austin Clements, Bill Morgan, Keith Randall and Martin Möhrmann

                Gerrit Bot uploaded new patchset

                Gerrit Bot uploaded patch set #5 to this change.
                Open in Gerrit

                Related details

                Attention is currently required from:
                • Alex Brainman
                • Austin Clements
                • Bill Morgan
                • Keith Randall
                • Martin Möhrmann
                Submit Requirements:
                • requirement is not satisfiedCode-Review
                • requirement is not satisfiedNo-Unresolved-Comments
                • requirement is not satisfiedReview-Enforcement
                • requirement is not satisfiedTryBots-Pass
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: newpatchset
                Gerrit-Project: go
                Gerrit-Branch: master
                Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
                Gerrit-Change-Number: 735360
                Gerrit-PatchSet: 5
                unsatisfied_requirement
                open
                diffy

                Gerrit Bot (Gerrit)

                unread,
                1:47 PM (5 hours ago) 1:47 PM
                to Bill Morgan, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
                Attention needed from Alex Brainman, Austin Clements, Bill Morgan, Keith Randall and Martin Möhrmann

                Gerrit Bot uploaded new patchset

                Gerrit Bot uploaded patch set #6 to this change.
                Open in Gerrit

                Related details

                Attention is currently required from:
                • Alex Brainman
                • Austin Clements
                • Bill Morgan
                • Keith Randall
                • Martin Möhrmann
                Submit Requirements:
                • requirement is not satisfiedCode-Review
                • requirement is not satisfiedNo-Unresolved-Comments
                • requirement is not satisfiedReview-Enforcement
                • requirement is not satisfiedTryBots-Pass
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: newpatchset
                Gerrit-Project: go
                Gerrit-Branch: master
                Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
                Gerrit-Change-Number: 735360
                Gerrit-PatchSet: 6
                unsatisfied_requirement
                open
                diffy

                Bill Morgan (Gerrit)

                unread,
                2:01 PM (5 hours ago) 2:01 PM
                to Gerrit Bot, goph...@pubsubhelper.golang.org, Go LUCI, Alex Brainman, Austin Clements, Keith Randall, Martin Möhrmann, Gopher Robot, golang-co...@googlegroups.com
                Attention needed from Alex Brainman, Austin Clements, Keith Randall and Martin Möhrmann

                Bill Morgan added 4 comments

                Patchset-level comments
                File-level comment, Patchset 6 (Latest):
                Bill Morgan . resolved

                Thanks Alex. I have pushed updates and commented on the issue.

                Commit Message
                Line 17, Patchset 2:Fixes #70558
                Alex Brainman . resolved

                s/Fixes/For/

                otherwise the issue will get close when we submit this CL.

                Bill Morgan

                Done

                File src/runtime/mem_windows.go
                Line 32, Patchset 2: print("runtime: VirtualAlloc of ", n, " bytes failed with errno=", errno, "\n")
                Alex Brainman . resolved
                Bill Morgan

                Done

                Line 129, Patchset 2: p := stdcall(_VirtualAlloc, uintptr(v), n, _MEM_RESERVE, _PAGE_READWRITE)
                Alex Brainman . resolved

                We need new test and adjust the message text similar to what I suggested in sysAllocOS.

                Bill Morgan

                Done

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Alex Brainman
                • Austin Clements
                • Keith Randall
                • Martin Möhrmann
                Submit Requirements:
                  • requirement is not satisfiedCode-Review
                  • requirement satisfiedNo-Unresolved-Comments
                  • requirement is not satisfiedReview-Enforcement
                  • requirement is not satisfiedTryBots-Pass
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: go
                  Gerrit-Branch: master
                  Gerrit-Change-Id: I2ec103c71b37f764c8cbbdce016b39020dea6de5
                  Gerrit-Change-Number: 735360
                  Gerrit-PatchSet: 6
                  Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
                  Gerrit-Reviewer: Alex Brainman <alex.b...@gmail.com>
                  Gerrit-Reviewer: Austin Clements <aus...@google.com>
                  Gerrit-Reviewer: Keith Randall <k...@golang.org>
                  Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
                  Gerrit-CC: Bill Morgan <arthurwil...@gmail.com>
                  Gerrit-CC: Gopher Robot <go...@golang.org>
                  Gerrit-Attention: Keith Randall <k...@golang.org>
                  Gerrit-Attention: Martin Möhrmann <moeh...@google.com>
                  Gerrit-Attention: Alex Brainman <alex.b...@gmail.com>
                  Gerrit-Attention: Austin Clements <aus...@google.com>
                  Gerrit-Comment-Date: Sat, 17 Jan 2026 19:01:22 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  unsatisfied_requirement
                  satisfied_requirement
                  open
                  diffy
                  Reply all
                  Reply to author
                  Forward
                  0 new messages