Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Document false -race failures with Go 1.26.0 on Windows

Aberta Para iniciantes
#103 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
1/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
88/100
Tipo de issue
Documentação
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
go
Domínio
documentation

Direção de pesquisa

Comece por CONTRIBUTING e pelo Developer Guide, os dois locais da documentação para contribuidores mencionados no issue. Explique que o Windows Go 1.26.0 pode causar falhas falsas nos testes race e documente o comando sugerido com Go 1.26.3 ou posterior: GOTOOLCHAIN=go1.26.3 go test -race ./.... O trabalho estará concluído quando os dois documentos para contribuidores explicarem o problema e como evitá-lo.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Go
Estrelas
1
Forks
1
Merge médio
14d 9h
PRs com merge (30d)
1

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de TMHSDigital/subenum

Todas as issues de TMHSDigital/subenum

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.