Going for a walk today, I remembered how, at previous jobs, we used to give funny names to certain types of bugs that either happened from time to time, or were different and posed unique challenges. I'm probably missing more, but the following small list are all that I recall :)
Cinderella bug: A bug or failing test that only presents himself around midnight. Usually relates to datetime or timezone issues.
Spring/Fall bug: Variant of the previous one, caused by dailight saving. Not handling timezones can also help making it happen (or other variants).
The poltergeist: You feel it, you sense it but you cannot see its source.
Schrödinger's variables: Issues with compilers or interpreters causing broken data structures to crash and/or report having and not having multiples values at the same time when inspected.
I have a precise example of this one from late 2010/early 2011, in which I got Javascript error under Internet Explorer 9 beta incorrectly reporting success:true
for a scenario that was erroring. It said it was a boolean but it's value was neither true
nor false
, and at the same time was not true
and not false
. Here is the screenshot I took for fun:
Gotta catch them all bug: When somebody applies Pokemon exception handling (capture Exception
, Error
or the corresponding language equivalent to the parent exception type) and the real bug gets shallowed by the handler, either raising a different error or being just hidden until found.
The It works on my machine!: Bug that surfaces on environments other than local/dev. More often than it should applies to tests, breaking when run via CI but not locally. Usually relates to to diferent configurations, different packages, or even different operating systems (Mac vs Linux, Ubuntu vs Alpine, ...).
The orphan: nobody takes responsability/ownership of this bug so it remains unfixed.
The destroyer of worlds: fatal bug that either crashes the whole system or breaks thousands of tests. Writing the post I found the alternate name Hindenbug.
The Hydra: A bug that, upon fixing, causes more bugs to appear (typically uncovers).
The Yeti: A bug reported, probably multiple times, but that nobody is able to reproduce/find it. Alternate name: Loch ness monster bug
The inmortal: A bug no matter how many times you try to kill, you're never able to fully get rid of.
Heisenbug: A bug that changes how it behaves when you try to triage or debug it.
The Padron pepper bug: A joke of a famous spanish food, of which some peppers are hot and some not. Applied to bugs, a bug that is not deterministic, sometimes happens and sometimes not.
Tags: Development