More generally, a heisenbug is any bug for which you can determine its effects, but not its location (akin to being able to determine a particle's location or velocity but not both). Typically, when you try to reproduce the code elsewhere, it works just fine. I suppose you could also have a heisenbug where you knew its location but not its effects, but that would be more like a heisen-undocumented-feature.
Memory leaks are definitely a kind of heisenbug. This one was actually a db error being thrown and caught correctly, but generated in a different try block than the one I thought was responsible for the error. Cue lots of tearing of hair, gnashing of teeth, &c. as I replicated the try-block I was looking at in a test script and it worked just fine...
(no subject)
Date: 2004-03-14 04:07 pm (UTC)Memory leaks are definitely a kind of heisenbug. This one was actually a db error being thrown and caught correctly, but generated in a different try block than the one I thought was responsible for the error. Cue lots of tearing of hair, gnashing of teeth, &c. as I replicated the try-block I was looking at in a test script and it worked just fine...