Race condition
Also: data race, timing race
A bug where the outcome depends on uncontrolled ordering of concurrent events.
Non-atomic shared-state access can lose updates or observe inconsistent combinations; synchronization must protect the invariant.
Example Main code clears a flag just as an ISR sets it, losing an event.
Common misconception A race may disappear under logging because timing changed, not because the code became correct.