See also: VoodooFix
, and the original name for it HeisenBug
- I'm not sure that this is the same thing as a HeisenBug. A VoodooBug appears to be intermittent. A HeisenBug "depends" on whether you are searching for it or not. So a HeisenBug would just be a special case of VoodooBug
A bug which appears to only "pop up" once in a while. The VoodooBug
can be caused by third party libraries ( as pointed out by JeffShelby
), hardware, threads, network, OS, etc.
s usually have a real cause, but tracking down the cause can be difficult and time consuming. VoodooBug
s cause me to test functionality of third party libraries, after I BlameYourselfFirst
. It also makes gets me in the habit of ProducingPristineEnvironments
. ( So much so that I think you should do it enough that you can automate that process. ) AutomatedTesting
is a big help, and I usually add a bit more risk to stories which need to use third party libraries or applications. ( Netscape 4.01 comes to mind...) -- Erik Meade
be a VoodooBug
style error printout?
Riddle me this: What's worse than a VoodooBug?
an Invisible VoodooBug
An invisible voodoo bug is something that is clearly a voodoo bug, that appears and then vanishes due to an involuntary voodoo fix and you cant quite figure out how to get it back. This produces that sinking feeling, of
"Oh my goodness the behavior of my program is now known to be undefined." and there is no way to search for it:(
- stress testing the program to try and make the voodoo bug visible again.
- random kicks in the guts to make the program fail and see if it does so sensibly.
- Purification by RationalPurify.
- 6 years of code reviews.
- changing jobs :). voluntarily, or otherwise...
-- A Shaman Exorcist :)
Often fixed by VoodooChickenCoding