Jim Wilson wrote:
> David Megginson <[EMAIL PROTECTED]> said:
> > On that point, I've tried your patch and it works, but the YASim FDM
> > is then (inexplicably) frozen.  Is it working for anyone else?
>
> This is a bug that seems to be related to some sort of memory
> corruption.  I've seen it off and on over the last couple of weeks
> when applying various updates.

I saw it once, but unfortunately didn't track it far enough.  It's
since stopped happening to me.  David, if you're getting this
repeatably, would you mind tracing the bad values in gdb with a
watchpoint?  That is, figure out where the bad value comes from, set a
watch point at its address* (e.g. "watch *((int*)&variable)") and
re-run the program?  If it turns out to be set via another garbage
value, then set a watch point there, etc...  Ultimately you should get
to obviously incorrect code, like a variable that never gets set at
all.

This is tedious, but reasonably algorithmic.  I wish I'd looked harder
when it hit me last week; I saw the buffer overflow and just assumed
that the garbage was "normal" behavior.

Andy

* Not the variable itself -- the address only.  I've seen gdb get
  confused and miss watchpoint changes when watching variable names;
  maybe it's misoptimizing something?  This doesn't help if the
  address changes across reruns, but in my experience that's actually
  pretty rare.  The bad values are usually already bad during
  initialization, and initialization is a deterministric process.

-- 
Andrew J. Ross                NextBus Information Systems
Senior Software Engineer      Emeryville, CA
[EMAIL PROTECTED]              http://www.nextbus.com
"Men go crazy in conflagrations.  They only get better one by one."
 - Sting (misquoted)


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to