unexpected interactions between threads, processes, time, and
information. These interactions happen through shared state:
semaphores, variables, the file system, and, basically, anything
that can store information.