Summary: unit move assert is_tiles_adjacent() failed
                 Project: Freeciv
            Submitted by: cazfi
            Submitted on: Wed 29 Feb 2012 10:31:05 PM EET
                Category: ai
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: Ready For Test
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: None
         Planned Release: 2.3.2, 2.4.0, 2.5.0



I think I've seen this assert failing once or twice before over the years, but
now I first time got reproducible case from autogame.

Assert fails when autosettler tries to take first step in its path. Path
itself is legal, but settler itself is no longer in the beginning of the path
but in some other tile.
This can happen due to recursice displacement of settlers:
1) Path for settler A is constructed
2) A displaces B, causing autosettler for B to run
3) B displaces C, causing autosettler for C to run
4) C displaces A, causing autosettler for A to run
5) A moves
6) Back to handling C
7) Back to handling B
8) Back to handling A
9) Attempt to use path constructed in 1

Fix attached. Bug exist in older branches, but patch does not apply to S2_2. I
mark this for S2_3, S2_4 and TRUNK only for now.


File Attachments:

Date: Wed 29 Feb 2012 10:31:05 PM EET  Name: RecDisplSettMoved.diff  Size: 2kB
  By: cazfi



Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to