[comp.sys.sequent] Shr\"odinger error in _XRead!

aipdc@castle.ed.ac.uk (Paul Crowley) (05/29/91)

The jargon file informs me that a Bohr error is one that is easily
repeatable and a Heisenberg error is one that seems to happen at random,
so it's much harder to pin down because you can't seem to repeat the
exact circumstances under which it happens. 

I'm defining a Schr\"odinger error to be an error that goes away when
you look at it.  I'm using gdb to track down an error that occurs during
a call to _XRead that causes it to call _XDefaultIOError.  The trouble
is, if you place a break on _XRead, and then call stepi at least once
during _XRead, and then type "cont" after every break, the error does
not occur.  This makes me think it must be pretty low level, which is
why I'm posting to this group. 

Has anyone ever heard of such a thing, or does anyone have any idea what
might cause it? I'm running X11R4 on a Sequent Symmetry with DYNIX
V3.0.17.9.  The package I'm trying to compile is "Tk".  

I am more mystified than a very mystified person.
                                         ____
\/ o\ Paul Crowley aipdc@castle.ed.ac.uk \  /
/\__/ Part straight. Part gay. All queer. \/
"I say we kill him and eat his brain."
"That's not the solution to _every_ problem, you know!" -- Rudy Rucker

gordon@osiris.cso.uiuc.edu (John Gordon) (06/03/91)

	I have experienced something like what you described.  We had a program
that would occasionally bomb, but when we put a printf() in a certain spot
to check a value, the error went away.  It turned out that at a certain point
the program was using an uninitialized variable, and the printf call just
happened to leave the correct values in a few key bytes in memory.  Use lint
and check for usage before initialization.


---
John Gordon
Internet: gordon@osiris.cso.uiuc.edu        #include <disclaimer.h>
          gordon@cerl.cecer.army.mil       #include <clever_saying.h>