My definition of a heisenbug is slightly different. For me it is one that disappears when you try to observe it (for example by inserting printf's, logging code or running in the debugger or if it only occurs with particular build setting especially release build only).<p>Hard to reproduce reliably is a different but closely related category.