Two threads ran free, no lock in place,
A harmless counter, shared in space.
One meant to add, one meant to check,
But time, not logic, crossed the spec.
They started fine, they ended wrong,
A state that shouldn’t last this long.
Sometimes it's fine. Sometimes it's pain.
Sometimes it never shows again.
You grep your logs, you trace each call,
The bug is gone – was it there at all?
With every run, a different fate,
You learn to dread the word: "nondeterminate."
You add a lock. It deadlocks tight.
You drop it – BOOM – it's broken night.
The semaphores, the spinlocks dance,
You wonder: "Was it chance... or glance?"
It passes tests on local run,
But fails in prod – that's when it's fun.
And when you fix it, patch by patch,
The next one waits – a perfect match.
Final Line:
No virus spreads with such precision
As unsynchronized decision.