Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2002:
[Freeciv-Dev] Re: (PR#2635) bug in ai air code?
Home

[Freeciv-Dev] Re: (PR#2635) bug in ai air code?

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: per@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#2635) bug in ai air code?
From: "Gregory Berkolaiko via RT" <rt@xxxxxxxxxxxxxx>
Date: Mon, 23 Dec 2002 15:55:38 -0800
Reply-to: rt@xxxxxxxxxxxxxx

Quoting Mike Kaufman via RT <rt@xxxxxxxxxxxxxx>:

> On Mon, Dec 23, 2002 at 11:34:51AM -0800, Per I. Mathisen via RT wrote:
> > 
> > 1: IDEX: unit unreg missing: 1627 473a50 Fighter
> > > sanitycheck.c:67: failed assertion `plr_tile->seen < 60000'
> > 
> > 1: IDEX: unit unreg missing: 3243 69f998 Stealth Fighter
> > > sanitycheck.c:67: failed assertion `plr_tile->seen < 60000'
> > 
> > I get these errors in certain very long autogames. I cannot reproduce
> them
> > from a saved savegame. Seems to be always air units that are reported
> > missing. I don't see what the two error messages have to do with each
> > other, but they always occur simultaneous.
> 
> This makes sense. I've been aware of this sort of problem for a while. The
> 'problem' is that ->seen is unsigned which means if there's a bug somewhere
> in refogging a tile (it gets fogged too many times) then we underflow seen
> and trip the assert. Hopefully this allows you to track down the problem
> code.

Re: getting a savegame
Sometimes it helps to generate map, save straight away and then run the whole
(auto)game from saved.  Then when you get the bug, at least you have some
savegame from which to reproduce it.  And then you can put a breakpoint
conditional on the year to get to the place where the bug occurs in gdb.

G.





[Prev in Thread] Current Thread [Next in Thread]