Question
You are given the source to an application which is crashing during run time. After running it 10 times in a debugger, you find it never crashes in the same place.
What programming errors could be causing this crash? How would you test each one?
Analysis
code depends on system time or RNG
disk full, i.e. other processes may delete a different file causing more space to be available
memory issue, i.e. other processes allocate and/or free memory
a pointer points to a random location in memory that is changed by another process causing some values be “valid” (very rare though)
In general a situation with other process is likely.