.
Argh (again) - Grin with cat attached
Previous Entry Next Entry
Argh (again) Aug. 3rd, 2005 06:49 pm
this f'ing code has a Heisenbug.

This is like trying to disect a jellyfish with a spoon. I'm giving up for the day.

From: steer
Date: August 3rd, 2005 - 06:17 pm (Link)
Usually used of a bug which seems to "move" when you put tracking code in (you can know where it is or what it does but not both). Almost inevitably a characteristic of a dangling pointer or the moral equivalent. :-)
From: deliberateblank
Date: August 3rd, 2005 - 06:30 pm (Link)
Race conditions in multi-threaded systems too, they can be extremely sensitive to timing variations (and debugging output may well cause a context switch). And bugs tied to the message queue in Win32 - sometimes any additional instrumentation ties into the message queue itself and can radically change the symptoms.
From: steer
Date: August 3rd, 2005 - 06:31 pm (Link)
Ah yes -- I so rarely work with things where timing is important that I forget that type of particularly nasty bug. Icky.
From: thecesspit
Date: August 3rd, 2005 - 08:06 pm (Link)
Debugging Parallel programs? Someone ought to do some research on that, a PHD even...

(Conclusion: Very difficult).
From: valkyriekaren
Date: August 3rd, 2005 - 06:42 pm (Link)
a dangling pointer

You leave his pointer out of this!
From: wechsler
Date: August 3rd, 2005 - 08:08 pm (Link)
Egads, it's Bob!
From: wechsler
Date: August 3rd, 2005 - 08:14 pm (Link)
Correct link: http://subgenius.com/
From: valkyriekaren
Date: August 3rd, 2005 - 08:21 pm (Link)
Someone get that man a pipe!

Et viola!

From: wechsler
Date: August 3rd, 2005 - 08:41 pm (Link)
steerbob2.gif

Re: Et viola!

From: steer
Date: August 3rd, 2005 - 10:45 pm (Link)
Oh my god -- that is horrifying yet brilliant. I am now collapsed with laughter.
From: wechsler
Date: August 3rd, 2005 - 08:13 pm (Link)
Close - it's an object reference issue (as far as I can tell) which is about as close to a pointer as you get in PHP. However it's not a direct memory address in the same way as a pointer, so why it vanishes when I try to examine it, I'm unsure. It's code that works in PHP4 and not PHP5...
From: deliberateblank
Date: August 3rd, 2005 - 08:48 pm (Link)
I'd be entirely unsurprised by finding an engine bug in PHP4, and 5 is less mature...
From: wechsler
Date: August 3rd, 2005 - 08:53 pm (Link)
It's *probably* part of the deliberate object model changes, but they can be ... "subtle".

Now that sounds like a developer talking

From: webcowgirl
Date: August 3rd, 2005 - 10:01 pm (Link)
Subtle as in "a bug-like feature" or "a feature-like bug?"

Re: Now that sounds like a developer talking

From: wechsler
Date: August 3rd, 2005 - 10:02 pm (Link)
Almost certainly.

*snort*

From: webcowgirl
Date: August 3rd, 2005 - 10:42 pm (Link)
Of course, that could be the CTO talking ...
From: djm4
Date: August 4th, 2005 - 07:41 am (Link)
I had one a couple of months ago in Perl. I had a variable that wasn't getting its value initialised correctly until I put in a warn statement to check what its value was and then ... it worked. In this case it was definitely a bug in the Perl interpreter, though.