Understanding a Subtle Bug in Go's errgroup and the Importance of Testing
By
broken_broken_
If you only eat one bagel today, this is the bagel.
Summary
The article discusses a subtle bug encountered while working with Go's errgroup in a project called Kratos. The author shares their experience of how a test caught the bug before it could be merged into production, emphasizing the importance of testing in complex software development. A minimized version of the issue is provided in a 100-line standalone program, and the real production code is linked for reference.
Key quotes
· 4 pulledYesterday I got bitten by an insidious bug at work while working on Kratos.
The more I work on big, complex software, the more I deeply appreciate tests, even though I do not necessarily enjoy writing them.
I lost a few hours investigating this issue, and this could happen to anyone, I think.
You can have a look at the real production code here if you are interested. After all, it's open source!
You might also wanna read
Running Gemma 4 on a 2016 Xeon Server with No GPU: A Technical Walkthrough
The article describes running Gemma 4 (a 25B-parameter Mixture-of-Experts model) on a severely outdated server with a 2016 Intel Xeon E5-262
NVIDIA Announces "Hack for Impact" London Event for Autonomous AI Agent Development
NVIDIA is hosting a "Hack for Impact" event in London, challenging participants to build autonomous agentic applications using open-source m
Four practical steps to control Azure Foundry token costs for agentic AI workloads
This article provides practical guidance on controlling token costs in Microsoft Azure Foundry, particularly for agentic AI workloads where
MerLean-Prover: A Recursive Agent Harness for Lean 4 Theorem Proving Outperforms Baselines
MerLean-Prover is an end-to-end Lean4 theorem prover that replaces 'sorry' declarations with kernel-checkable proofs using three agent types
Why small pull request policies can backfire on software quality
The article critiques a common software engineering policy that limits pull requests (PRs) to small sizes (e.g., 500 lines, few files). Whil
apenwarr.ca·7h agoHow Anthropic contains Claude's expanding access across its products
Anthropic describes how it has evolved its approach to granting Claude, its AI assistant, increasingly broad access to internal systems over
