Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Document false -race failures with Go 1.26.0 on Windows

未關閉 適合新手
#103 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
1/5
預估耗時
1-3 小時
新手友好度
88/100
Issue 類型
文件
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
go
領域
documentation

研究方向

從 CONTRIBUTING 和 Developer Guide 開始,這兩個是 issue 中提到的貢獻者文件位置。說明 Windows Go 1.26.0 可能導致 race 測試誤報失敗,並記錄建議使用 Go 1.26.3 或更新版本執行的命令:GOTOOLCHAIN=go1.26.3 go test -race ./...。當兩份貢獻者文件都說明這個問題及其避免方法時,即為完成。

由索引模型根據 Issue 內容生成。

描述

documentation testing

Why it matters

Contributors on Windows running Go 1.26.0 get -race failures that are not bugs in subenum. Without a note, they will spend time chasing races that do not exist, as happened while #76 was developed.

Evidence

On Windows with go1.26.0, go test -race -count=10 intermittently fails on an untouched main:

  • internal/scan: "WARNING: DATA RACE" between context.WithTimeout (called from internal/dns/resolver.go:277) and the net package's DNS lookup goroutine (net/dnsclient_unix.go:677). The two stack traces touch the same address from unrelated objects. TestPoolBenchesDeadResolver fails with it.
  • The root package's e2e tests: Exception 0xc0000005 crashes with a garbage PC inside scan.Run's deferred-call return.

With GOTOOLCHAIN=go1.26.3, the same runs are clean (30 runs each of internal/scan and the lab e2e tests). CI runs -race on Linux and is not affected.

Suggested approach

  • Add a note to CONTRIBUTING and the Developer Guide: on Windows, run race tests with Go 1.26.3 or later (GOTOOLCHAIN=go1.26.3 go test -race ./...).
  • Keep the go 1.26.0 directive in go.mod, which CI requires. Optionally add a toolchain go1.26.3 line, if the "Check go directive" step allows it.

Done when

The contributor docs explain the false positives and how to avoid them.

主要語言
Go
星號
1
分支
1
平均合併
14 天 9 小時
30 天內合併 PR
1

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

TMHSDigital/subenum 的其他 Issue

查看 TMHSDigital/subenum 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。