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
平均合并
5 天 2 小时
30 天内合并 PR
3

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

TMHSDigital/subenum 的其他 Issue

查看 TMHSDigital/subenum 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。