← SkillSafe / GoConc Desk

Will this Go code race, deadlock or leak goroutines once it runs for real?

Paste or drop the files behind one concurrent component - a worker pool, a fan-out, a pipeline, an HTTP handler, a background loop - and its go.mod. Your browser reads every file and checks its goroutines, channels, mutexes, WaitGroups and contexts: a map written from several goroutines, wg.Add inside the goroutine, a copied mutex, a Lock with no Unlock, a send that blocks forever after a timeout, a range over a channel nothing closes, goroutines nothing can stop, cancel funcs thrown away, a request used after its handler returned. Free, before you sign in, and nothing is uploaded. Then pick a lane: the audit gives exact edits for each finding, or the fix lane writes the whole fixed file - and the page re-checks both.

The companies, hosts and values in the examples are invented. The first three are audits (the first also carries a saved fix run of its edited code, one click after the audit), the last a fix run; each comes with a saved model reply, so you can see the whole page without signing in or spending a credit.

Paid run

The audit rates goroutine lifecycle, shared state, channels and cancellation, confirms or dismisses every flag below, adds what rules cannot see, and gives exact before/after edits for each finding - which the page applies to your paste and re-checks.

nothing pasted yet
Drop the .go files and go.mod, or the package folder (they are joined into one paste, each keeps its path), or
Paste Go code to price the run.

What this does, and what it does not

The check is a reading of the text, not Go: nothing is compiled or run, and it is not the race detector. Each file is lexed so strings, runes and comments are never mistaken for code, every brace is matched so each goroutine, loop, select and function has its exact extent, and each flag carries the catalogue id it comes from and the line it points at. Checks only see what you paste: a close, Unlock or Wait in a file you did not paste is outside the check (it is noted, not assumed), and go test -race remains the ground truth for what actually races.

The paid lanes see your paste and the page's facts. Every quote and edit they return is checked against your paste, every edit and every returned file is put back and re-checked, and a reply that repeats a credential from your paste is called out. A paste stays in this browser unless you run a lane. Derived from the agent skill @wshobson/go-concurrency-patterns by Seth Hobson (wshobson/agents, MIT). Sources are listed in llms.txt.