go-race-01core-12goDifficulty tier 4/5
Fix a data race in a metrics registry without serialising every read
goconcurrencydata-racelockingrwmutex
Task parameters
- Reference steps
- 9
- Step ceiling
- 40
- Runs
- 15
- Solved
- 14 of 15
- Models
- 5
What is broken, and what fixed means
A latency aggregator shared by every request goroutine and one exporter goroutine fails under the race detector. A mutex was added around the map at some point and the work stopped there: the per endpoint aggregate fields, the histogram behind them and the global Observe counter are all mutated with no lock held, and a cache in front of the map that remembers the most recently used endpoint is read and written unsynchronised on the hot path. The cache is the subtle half. It is also why Reset leaves a stale bucket behind, which is a visible bug rather than a detector warning. The tempting fix is one exclusive mutex around every method, which is race free, correct, and puts every exporter read in a queue behind the others: the hidden suite measures concurrent reads of a deliberately slow read path and rejects it.
Results by model
One group per model. The solve rate carries its spread across seeds, and every run below it links to the full step by step replay.
stub:hasty
66.7%+/- 47.1% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerreplay
- steps
- 7 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- n/a
- cost
- $0.00
- wall clock
- 7.85 s
- started
- 16 Sep 2026, 18:45 UTC
- seed 1not solved 6/10 hidden testscompleteddockerpremature finishF03replay
- steps
- 5 of 40
- partial credit
- 60%
- step efficiency
- n/a
- recovery
- n/a
- cost
- $0.00
- wall clock
- 6.07 s
- started
- 16 Sep 2026, 18:45 UTC
- seed 2solved 10/10 hidden testscompleteddockerreplay
- steps
- 7 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- n/a
- cost
- $0.00
- wall clock
- 7.79 s
- started
- 16 Sep 2026, 18:45 UTC
stub:methodical
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerreplay
- steps
- 9 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- n/a
- cost
- $0.00
- wall clock
- 10.4 s
- started
- 16 Sep 2026, 18:43 UTC
- seed 1solved 10/10 hidden testscompleteddockerreplay
- steps
- 9 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- n/a
- cost
- $0.00
- wall clock
- 10.00 s
- started
- 16 Sep 2026, 18:43 UTC
- seed 2solved 10/10 hidden testscompleteddockerreplay
- steps
- 9 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- n/a
- cost
- $0.00
- wall clock
- 9.38 s
- started
- 16 Sep 2026, 18:43 UTC
stub:reckless
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerF08F09replay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 0.750
- recovery
- 100%
- cost
- $0.00
- wall clock
- 8.80 s
- started
- 16 Sep 2026, 18:51 UTC
- seed 1solved 10/10 hidden testscompleteddockerF08F09replay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 0.750
- recovery
- 100%
- cost
- $0.00
- wall clock
- 9.43 s
- started
- 16 Sep 2026, 18:51 UTC
- seed 2solved 10/10 hidden testscompleteddockerF08F09replay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 0.750
- recovery
- 100%
- cost
- $0.00
- wall clock
- 8.97 s
- started
- 16 Sep 2026, 18:51 UTC
stub:sloppy
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerF01F02F05replay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 0.750
- recovery
- 100%
- cost
- $0.00
- wall clock
- 9.13 s
- started
- 16 Sep 2026, 18:49 UTC
- seed 1solved 10/10 hidden testscompleteddockerF01F02F05replay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 0.750
- recovery
- 100%
- cost
- $0.00
- wall clock
- 9.38 s
- started
- 16 Sep 2026, 18:49 UTC
- seed 2solved 10/10 hidden testscompleteddockerF01F02F05replay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 0.750
- recovery
- 100%
- cost
- $0.00
- wall clock
- 9.16 s
- started
- 16 Sep 2026, 18:49 UTC
stub:thrasher
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerF04replay
- steps
- 14 of 40
- partial credit
- 100%
- step efficiency
- 0.643
- recovery
- n/a
- cost
- $0.00
- wall clock
- 13.5 s
- started
- 16 Sep 2026, 18:46 UTC
- seed 1solved 10/10 hidden testscompleteddockerF04replay
- steps
- 14 of 40
- partial credit
- 100%
- step efficiency
- 0.643
- recovery
- n/a
- cost
- $0.00
- wall clock
- 10.0 s
- started
- 16 Sep 2026, 18:46 UTC
- seed 2solved 10/10 hidden testscompleteddockerF04replay
- steps
- 14 of 40
- partial credit
- 100%
- step efficiency
- 0.643
- recovery
- n/a
- cost
- $0.00
- wall clock
- 9.48 s
- started
- 16 Sep 2026, 18:46 UTC