Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2004:
[Freeciv-Dev] (PR#10021) infinite loop in autosettlers?
Home

[Freeciv-Dev] (PR#10021) infinite loop in autosettlers?

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] (PR#10021) infinite loop in autosettlers?
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 10 Sep 2004 10:47:10 -0700
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=10021 >

I should add:

#9248 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9249 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9250 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9251 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9252 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9253 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9254 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192
#9255 0x080aab2e in auto_settler_findwork (pplayer=0x82a28cc,
punit=0x8705f80)
    at settlers.c:1192

indicating the offending call is at line 1192.  Note that settlers.c is
modified slightly by the effects patch.  The call is here:

  /*** Recurse if we want to found a city ***/

  if (punit->ai.ai_role == AIUNIT_BUILD_CITY) {
    auto_settler_findwork(pplayer, punit);
  }

This looks like a simple logical error in auto_settler_findwork.  It
starts out trying to build a city, but can't.  So then it looks at the
fallback.  There are no improvements to be done so it tries to build a
city again, and the funtion recurses.

jason



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