Can bugs be there and not there at the same time? The analogy to Heisenberg's uncertainty principle admittedly falls a bit short; #Heisenbugs are more like bedbugs - you notice the symptoms, but it's hard to locate the actual bug. We're providing a formal framework for reasoning about causes of Heisenbugs, which hopefully will make this task easier in the future.

https://doi.org/10.1007/s10270-025-01345-7

A formalization of Heisenbugs and their causes in terms of hyperproperties - Software and Systems Modeling

The already challenging task of identifying the cause of a bug becomes even more cumbersome if those bugs disappear or change their behavior under observation. Such bugs occur in a range of contexts including elusive concurrency bugs as well as unintended system alterations during debugging and—as a pun on the name of Werner Heisenberg—are often referred to as Heisenbugs. Heisenbugs can be caused by various sources of nondeterminism on different system levels, many of which developers and testers might not even be aware of. This paper provides formal foundations for rigorously reasoning about causes of Heisenbugs. It provides a formal definition of Heisenbugs in terms of a hyperproperty and introduces a framework for determining the causality of Heisenbugs in presence of multiple candidate causes based on said hyperproperty. We analyze the properties of causes and the implications on practical causal analyses. We provide two small case studies and a taxonomy of potential causes of Heisenbugs.

SpringerLink

I'm really puzzled by the fact that GNOME System Monitor 46+ just randomly stops refreshing the Processes treeview after a while. I was not able to identify the exact trigger for that bug. Can anyone else help figure out what makes the autorefresh stop? https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/issues/304

#GNOME #heisenbugs #QA

Processes list stops auto-refreshing (#304) · Issues · GNOME / gnome-system-monitor · GitLab

If System Monitor is started in the Processes tab it does not refresh. This is easier to notice if sorted by "% CPU". GNOME 46.0 on...

GitLab
Fixing Java Thread and Database Connection Leaks for Fun and Profit | Hacker News

#DrPeterRanzinger, in thoughts so #agile,
Unraveling #Heisenbugs with a smile,
Telecom tales, in code I narrate,
#AgileCheese, innovation's fate,
In the capacitor of innovation, I soar,
#AgileThinking, always wanting more,
#cheese in my code, a savory dance,
#DrRanzinger, coding's trance.

making fresh #Introduction since I've been on Mastodon a year & tons of new folks have joined since

I'm a #programmer

for many decades

fave lang now is #Golang but also strong in & willing to work in #C #Java or #Python and ideally on #Linux or another #UNIX like

strengths/interests:

#performance & #scalability

#parallelism #concurrency & #multithreading

#distributed systems

solving legacy #Heisenbugs

#troubleshooting

R&D. #innovation

tech #leadership, esp for small teams or startups

HIRE ME

I have some avail

remote

contractor at first. salary/direct possible after we "date" a bit

weekly rates

heavy discount for first 2 week trial. then weeks 3+ rise to normal market. tho will honor a freezed quote for it, for you, up to 40 weeks

#hireme
#Fedihire
#getfedihired
#avail

#golang
#c
#clang
#python
#java
#programming
#performance
#scalability
#rescues
#rewrites
#refactors
#Heisenbugs
#troubleshooting
#reliability
#uptime
#distributed
#threading
#concurrency
#latency
#FOSS

@ervan Hmmm. I'd also make sure you don't have order-dependent tests, share file objects, or run specs that mutate your #database (including #PStore with ultra-safe locking) outside of a #DBtransaction you can abandon.

This is less about making the tests parallel or concurrent than about whether you're using #testfixtures that create #Heisenbugs. Using #testfactories, #tempfiles, or an #MVCC #DB could help you a lot there.

I’ve got one of those wonderful #heisenbugs (actually flaky test) where the only way to progress is add a little more logging and then run the test suite in an infinite loop until it fails.

Hoping that this time I’ve found the sweet spot between it never reproducing and never being able to see why.

I hate #heisenbugs … so yesterday I set some #CC2538-based #Thread water meter devices logging, only to find they've both dropped off the face of the earth a hour or so later.

So, I plug one in to a XDS100v3 JTAG probe, get openocd/gdb running… waiting for it to make its whoopsie moment so I can determine why it keels over.

No crash thus far.

@projectdp @ncc826 Be aware that some NICs don't support more than 127 VLANs, and the way #proxmox sets up VLANs by default (`allowed-vlans 2-4094`) will result in #heisenbugs with your networking. Can be easily worked around by changing that line to list only the VLANs in use, but very frustrating if you don't know it's coming. While I haven't done an exhaustive search, Intel NICs tend to not have this problem.