Heisenbug: The concurrent exception in the transaction that will only occur if you observe it ayende.com/blog/195105-B/…
πŸ‘︎ 16
πŸ’¬︎
πŸ‘€︎ u/RavenDB_v5
πŸ“…︎ Oct 27 2021
🚨︎ report
Solving a Heisenbug

I have been working on an idea that's been in my head for years: taking existing schematics of old 7400-series based circuits, and more or less automatically converting them to Verilog. After a few iterations and improving the models of some of the 7400-series components, namely the 7474, I have a design that simulates beautifully in Verilator.

When I synthesized it for a Zynq, I had a few issues initially, like circular logic, which I fixed and verified again in Verilator. However, the design was still not running correctly on the hardware. Most of it was working, though.

When I tracked down the problem to the UART transmitter, I brought out all of the flip-flop states to my front panel for debugging, and...it works fine now.

What might be a good approach to solving a problem that seems to go away when attempting to examine its state from the outside? To me, this sounds like the synthesizer is optimizing something away when I don't have the extra outputs for debugging.

No doubt Verilator has saved me a lot of time, but obviously there are still major differences between what Verilator creates and what Vivado synthesizes and implements!

πŸ‘︎ 12
πŸ’¬︎
πŸ‘€︎ u/antiquekid3
πŸ“…︎ Mar 29 2021
🚨︎ report
Carl heisenBUG (resident evil spoiler)
πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/skeleleleleletons
πŸ“…︎ Jun 13 2021
🚨︎ report
The "Heisenbug" A mobile safari bug that baffles everyone

Hello I've found a javascript bug in mobile safari that I cannot narrow down any further. Basically safari thinks that a variable holds a different value when accessed inside one function vs inside another function. Any help would be appreciated.

I have spent weeks trying to narrow down this bug. My senior software dev co-workers have tried and failed so I'm posting it here. Why do they call it the Heisenbug?

  1. When you connect your device to a mac and open Safari Developer Tools, the bug instantly goes away. You cannot inspect!

  2. The bug doesn't happen every time you run it, and the more code that you remove from this file (even code that is never run), the less likely the bug is to happen. You cannot narrow it down!

Steps to reproduce:

  1. Open this url in mobile safari: https://towerswap.app/bug42d.html

  2. Kill safari.

  3. Open safari.

  4. Tap Refresh.

  5. Tap the screen sometime after loop 30. The loop number is printed on the screen.

  6. See the bug. The line says "Immediately after is 99" The value of a global variable is different based on which function you are in. The bug should show up around loop 250 on an older iPad. On a newer device you might have to wait longer or keep repeating these steps exactly the same until the bug happens.

More Information about this bug:

  • It does not happen in desktop Safari or any other device that isn't a mobile iOS device.

  • It does also happen in mobile Chrome on iOS (because iOS chrome uses safari)

  • It also happens in native apps that use WKWebView, and on simulators.

  • It's most easily reproduced on older iPads.

  • I reproduced it consistently in iPhone SE iOS 12 but I can no longer reproduce it on the same device after upgrading iOS.

  • On the latest iOS it still happens on iPad, according to the App Store reviewer who just rejected my app because of this bug. If anyone has a iOS13 iPad and can confirm this, that would help as I don't want to upgrade mine, and I cannot reproduce it in my only iOS13 device.

  • On my iPhone XS the bug happens but it is less likely to occur. Leave it on for a while then repeat these steps a few times and the bug should occur by loop 300 on iPhone XS iOS 12.

Information about this file:

  • I have heavily gutted this code from a much larger file that is a javascript game.

  • Most of the javascript was generated but is readable.

  • This app is running a loop function gloop() is run every 17ms via setInterval.

  • The important variable that holds a different value base

... keep reading on reddit ➑

πŸ‘︎ 19
πŸ’¬︎
πŸ‘€︎ u/curtastic2
πŸ“…︎ Jun 14 2020
🚨︎ report
HeisenBug
πŸ‘︎ 8
πŸ’¬︎
πŸ‘€︎ u/Subtle-Anus
πŸ“…︎ Mar 16 2020
🚨︎ report
Some interesting words - periergia, gradgrind, amaranth, leitmotif, heisenbug

Some interesting words -

  • periergia: The use of an excessively elaborate or elevated style to discuss a trivial matter.
  • gradgrind: One who relies solely on scientific measurements and observable facts without taking human nature into consideration.
  • amaranth: an imaginary, undying flower.
  • leitmotif: a dominant recurring theme.
  • heisenbug: (computing) a software defect that alters its behavior or disappears when one attempts to isolate it.

These words are taken from vocabulary app - Vocab Assistant

πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/_logophile_
πŸ“…︎ Jun 20 2020
🚨︎ report
Release the heisenbug
πŸ‘︎ 561
πŸ’¬︎
πŸ‘€︎ u/orf______
πŸ“…︎ Jan 28 2019
🚨︎ report
I Hate Heisenbugs
πŸ‘︎ 3k
πŸ’¬︎
πŸ‘€︎ u/bostero2
πŸ“…︎ Apr 08 2018
🚨︎ report
Help debugging a heisenbug

Hello,

A colleague of mine sent me some code and claimed that printing a variable changes the results. I was skeptical at first, but incredibly interested in trying to figure out the issue. After hours of trying to debug this, I am stumped and am hoping someone in the community could help shed some light on what is happening.

The code in question computes a weighted wavelet z-transform on the input data. With the print statement at line 142, a plot with the correct bounds is produced. If the print statement is commented out, a plot with the incorrect bounds is produced.

Here is the working code: https://gist.github.com/anthonyjchriste/7daaa688423b1d87fcedec1b45ff0b6d

Here is an example of the working figure (note the scale on the right):

https://i.imgur.com/Nu333OT.png

Here is the non-working code where the only change is commenting out the print statement at line #142: https://gist.github.com/anthonyjchriste/f4309406f769d915b66326eebff31863

Here is an example of a non-working figure (note the scale on the right):

https://i.imgur.com/3URkpxY.png

Can anyone help me explain why a print statement would cause the results of my figures to change? Thank you for your time and I look forward to discussing the issue.

Edit: Thank you all for your well thought out responses and help! It appears the issue has been found thanks to /u/***dbramucci***. Mystery solved!

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/maukamakai
πŸ“…︎ Feb 09 2020
🚨︎ report
A heisenbug, nonetheless
πŸ‘︎ 67
πŸ’¬︎
πŸ‘€︎ u/jlat96
πŸ“…︎ Jan 03 2020
🚨︎ report
Heisenbugs, a summary β€” by Discord
πŸ‘︎ 44
πŸ’¬︎
πŸ‘€︎ u/PthariensFlame
πŸ“…︎ Jun 02 2019
🚨︎ report
When you are in the zone looking for that Heisenbug.
πŸ‘︎ 14
πŸ’¬︎
πŸ‘€︎ u/contantofaz
πŸ“…︎ Oct 25 2018
🚨︎ report
Words that readers of this subreddit may like - nigget, heisenbug, hexameron, circumbendibus, mondegreen

Words that readers of this subreddit may like -

  • nigget: A small insect; specifically one used as a familiar by a witch, sorcerer, etc.
  • heisenbug: (computing) a software defect that alters its behavior or disappears when one attempts to isolate it.
  • hexameron: (also hexaΓ«meron) The six days of creation; a history of the creation.
  • circumbendibus: a roundabout way; a circumlocution.
  • mondegreen: a misunderstood or misinterpreted word or phrase resulting from a mishearing of the lyrics of a song.

These words are taken from vocabulary app - Vocab Assistant

πŸ‘︎ 22
πŸ’¬︎
πŸ‘€︎ u/_logophile_
πŸ“…︎ Apr 10 2019
🚨︎ report
When you see a heisenbug in C, suspect your compiler’s optimizer esr.ibiblio.org/?p=1705
πŸ‘︎ 8
πŸ’¬︎
πŸ“…︎ Jun 20 2018
🚨︎ report
Fedora 20 to be named Heisenbug lists.fedoraproject.org/p…
πŸ‘︎ 293
πŸ’¬︎
πŸ‘€︎ u/lwh
πŸ“…︎ Sep 03 2013
🚨︎ report
WikiWikiWeb discussion of Heisenbugs, includes a few examples wiki.c2.com/?HeisenBug
πŸ‘︎ 7
πŸ’¬︎
πŸ“…︎ Jun 20 2018
🚨︎ report
Words that readers of this subreddit may like - audile, heisenbug, marginalia, sybaritic, peroration

Words that readers of this subreddit may like -

  • audile: A person in whose mind auditory images, rather than visual or motor images, are predominant or unusually distinct.
  • heisenbug: (computing) a software defect that alters its behavior or disappears when one attempts to isolate it.
  • marginalia: the annotations in the margins of a book or other literary work.
  • sybaritic: fond of sensuous luxury or pleasure; self-indulgent.
  • peroration: the concluding part of a speech, typically intended to inspire enthusiasm in the audience.

These words are taken from vocabulary app - Vocab Assistant

πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/_logophile_
πŸ“…︎ Mar 13 2020
🚨︎ report
Fedora 20 (Heisenbug) will be released on December 17th. lists.fedoraproject.org/p…
πŸ‘︎ 29
πŸ’¬︎
πŸ‘€︎ u/CodeBlock
πŸ“…︎ Dec 12 2013
🚨︎ report
Old HN discussion of heisenbugs, includes some stories and links in comments news.ycombinator.com/item…
πŸ‘︎ 5
πŸ’¬︎
πŸ“…︎ Jun 20 2018
🚨︎ report
Fedora 20 (Heisenbug) will be released on December 17th. (x-post /r/linux) lists.fedoraproject.org/p…
πŸ‘︎ 24
πŸ’¬︎
πŸ‘€︎ u/CodeBlock
πŸ“…︎ Dec 12 2013
🚨︎ report
TIL about Heisenbug, a software bug that seems to disappear or alter its behavior when one attempts to study it. en.wikipedia.org/wiki/Hei…
πŸ‘︎ 57
πŸ’¬︎
πŸ“…︎ Oct 12 2017
🚨︎ report
Heisenbug - infinite loop in Debug, perfect in Release

Hi, r/csharp ! I have recently discovered a unit test in a library I am making that enters into an infinite loop when run in Debug build config, but functions as expected in Release mode. I'm not sure how long its been present as I usually run this particular unit test in release mode as I'm benchmarking it at the same time. I do know that it's not always been there however! I will need to go on a journey through source control commit history to discover when it was introduced to try and narrow it down.

The project can be found at http://obscur.me , if curious, and the unit tests in question are UM1FabricPackage and SymmetricFabricPackage (I expect any 'fabric'-type package with large enough items to necessitate several stripes in the payload will trigger it - sorry about the project-specific-jargon). I expect the bug to be found in PayloadMux and/or FabricPayloadMux classes.

This is what a test using SMALL items looks like (so it is successful) : http://pastebin.com/JwCzsSq8 And this is one with larger items (which triggers it) : http://pastebin.com/XrQcZG1A Note that the one with larger items, when run in Release mode, completes as expected. However, it does not produce any console output to compare (not that its that comparable anyway due to the non-deterministic behaviour, because PRNG seeded with RNG output controls some behaviour).

Any tips on how to find out how and why this arises? I have tried stepping through but each test run is different by design (because crypto) and it would be very difficult to make it be consistent.

At the moment I am thinking it is a data race where a variable is assigned and then read back but it [the assigned value] has not made it to memory yet, but this is mostly intuition and some weirdness in some debug attempts.

Also, feel free to tell any tales of your own about bug weirdness and inconsistency!

πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/_zenith
πŸ“…︎ Oct 08 2014
🚨︎ report
List of Heisenbugs

Hi there, Inspired by the recent Webpack Monday bug, I've compiled a list of Heisenbugs (before discover this sub) and I think this is a right place to share it. If you have other interesting bug or stories like these, please share it with a PR.

https://github.com/letientai299/heisenbugs

πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/letientai299
πŸ“…︎ Jul 10 2019
🚨︎ report
Impressed with gnome 3.12 on Heisenbug, but:

I cant use the gnome-software app because it just loads but doesn't show any content(pictures or text) only boxes and categories. Additionally, when I go to the "Updates" tab, there is an error message: Failed to load repo updates: error propagated from libsolv

I tried googling it, but I didn't find any solutions. Maybe you can help me? yum update is fine, but I do want to use the software app...

πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/rafaelement
πŸ“…︎ May 18 2014
🚨︎ report
How to Catch Performance Heisenbugs with Groovy blazemeter.com/blog/how-t…
πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/jason_silberman
πŸ“…︎ Nov 13 2017
🚨︎ report
Accelerating concurrency bugs. How to flush out those pesky Heisenbugs. blog.corensic.com/2011/08…
πŸ‘︎ 28
πŸ’¬︎
πŸ‘€︎ u/DrBartosz
πŸ“…︎ Aug 22 2011
🚨︎ report
πŸ‘︎ 59
πŸ’¬︎
πŸ‘€︎ u/rluecke3
πŸ“…︎ Jan 24 2014
🚨︎ report
Heisenbugs suck.
πŸ‘︎ 65
πŸ’¬︎
πŸ‘€︎ u/seraku24
πŸ“…︎ May 31 2018
🚨︎ report
Hardware Heisenbugs and how we "exfiltrated" function return values using LEDs dontstuffbeansupyournose.…
πŸ‘︎ 14
πŸ’¬︎
πŸ‘€︎ u/s7ephen
πŸ“…︎ Mar 24 2014
🚨︎ report
Fedora 20 "Heisenbug" Beta Released redhat.com/about/news/arc…
πŸ‘︎ 89
πŸ’¬︎
πŸ‘€︎ u/phomes
πŸ“…︎ Nov 12 2013
🚨︎ report
Words you might not have heard of - mononymous, frangible, effulgence, heisenbug, majuscule

Words you might not have heard of -

  • mononymous: A mononymous person is an individual addressed or known by a single name, e.g. Plato.
  • frangible: able to be broken into pieces.
  • effulgence: a brilliant radiance; a shining forth.
  • heisenbug: (computing) a software defect that alters its behavior or disappears when one attempts to isolate it.
  • majuscule: A large letter, either capital or uncial, used in writing or printing.

These interesting words are taken from Vocab Assistant which is a vocabulary building chatbot.

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/_logophile_
πŸ“…︎ Nov 06 2019
🚨︎ report
πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/bluefoot55
πŸ“…︎ Sep 28 2017
🚨︎ report
A Mandelbug and a Heisenbug

If the following is too technical, let me know and I will explain.

Definitions:

http://www.catb.org/jargon/html/M/mandelbug.html

http://www.catb.org/jargon/html/H/heisenbug.html

A hardware heisenbug I once fixed: a unit only failed when the metal cover was closed. Any attempt to open it up and hook up an oscilloscope resulted in it working the instant you started to lift the lid. So I drilled a tiny hole in the lid to run a wire inside. It started working perfectly. Put on another cover, fail. Anyone care to guess what it was? Hint: not electrical interference.

A hardware mandelbug I once fixed: a CMOS hex inverter had no connection on the power pin. As long as any of the six inputs had a 1 on it, the chip got power through the internal protection diodes and the chip worked fine. If all six inputs were 0, the outputs were all 0s instead of the expected 1s. And all six inverters were used in entirely different asynchronous parts of the design. Difficulty: there was a bypass capacitor on the unconnected power pin, so the "all six inputs 0" condition didn't cause a failure until a couple of milliseconds had gone by.

πŸ‘︎ 53
πŸ’¬︎
πŸ“…︎ Jul 13 2014
🚨︎ report
Today I've learned the priorities of a hard drive cable and a Heisenbug

I popped open a new Chrome window to search what it is, it seems that you are seeing this? So for the last two hours, it was glorious. > $C1 - MrMonday, it's not working and i need to log in! It pulled up the store in back in 15 minutes and I need your computer!

πŸ‘︎ 43
πŸ’¬︎
πŸ“…︎ Aug 09 2015
🚨︎ report
CHESS: Find and Reproduce Heisenbugs in Concurrent Programs research.microsoft.com/en…
πŸ‘︎ 31
πŸ’¬︎
πŸ‘€︎ u/root7
πŸ“…︎ Jul 05 2010
🚨︎ report
Heisenbug - (computing) a software defect that alters its behavior or disappears when one attempts to isolate it. en.wikipedia.org/wiki/Hei…
πŸ‘︎ 44
πŸ’¬︎
πŸ‘€︎ u/SuperSane
πŸ“…︎ Apr 13 2014
🚨︎ report
It's A Heisenbug! It's time to wrap up what seemed at first to be a mysterious compiler bug. drdobbs.com/cpp/its-a-hei…
πŸ‘︎ 45
πŸ’¬︎
πŸ‘€︎ u/NotEltonJohn
πŸ“…︎ Jan 11 2013
🚨︎ report
Heisenbug: a software bug that seems to disappear or alter its behavior when one attempts to study it en.wikipedia.org/wiki/Hei…
πŸ‘︎ 53
πŸ’¬︎
πŸ‘€︎ u/blankblank
πŸ“…︎ Nov 30 2012
🚨︎ report
Fedora 20 Will Be Named Heisenbug news.softpedia.com/news/F…
πŸ‘︎ 19
πŸ’¬︎
πŸ‘€︎ u/aa_ee_rr
πŸ“…︎ Sep 03 2013
🚨︎ report

Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.