- the timing of execution so nothing works => hello USB driver!
- the scheduling of your threads
- the memory layout => a memory overflow won't crash your program the same way or not at all
I feel lucky I've enough hairs to pull them out on this kind of bugs. Fun time indeed.