Heisenbug is a whimsical computer programming jargon term for a software bug that seems to disappear when one attempts to study it.[1] The term is a pun on the name of Werner Heisenberg, the physicist who first asserted the observer effect of quantum mechanics, which states that the act of observing a system inevitably alters its state.

I’ve had a few of these bugs during my career as a software developer. At first you try to dismiss it as a random wrap in space-time continuum, but after a while they get irritating, until you realize that it may be a bug in the sharing of data between different threads. Time spent is normally days, if not weeks.

After that you are very careful with thread management and synchronization, and after a while you forget.

And then you begin at the beginning again.

Concurrency is hard to get right.

About Kent Fagerjord

Professional Software Developer, doing mostly C++. Connect with Kent on Twitter.
This entry was posted in coding and tagged , , , , . Bookmark the permalink.