Complete.Org: Mailing Lists: Archives: freeciv-dev: October 2004:
[Freeciv-Dev] (PR#10437) Another assert failure for "punit->transported_
Home

[Freeciv-Dev] (PR#10437) Another assert failure for "punit->transported_

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: marko.lindqvist@xxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#10437) Another assert failure for "punit->transported_by > 0"
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 6 Oct 2004 22:02:51 -0700
Reply-to: rt@xxxxxxxxxxx

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

I can reproduce this in the stable branch.  Year is 1480.

#0  0x400b2741 in kill () from /usr/lib/debug/libc.so.6
#1  0x400b24c5 in *__GI_raise (sig=6) at
../linuxthreads/sysdeps/unix/sysv/linux/raise.c:32
#2  0x400b3a08 in *__GI_abort () at ../sysdeps/generic/abort.c:88
#3  0x400abb3f in *__GI___assert_fail (assertion=0x0, file=0x0, line=0,
function=0x81683df "aiferry_gobyboat")
    at assert.c:83
#4  0x0811e98e in aiferry_gobyboat (pplayer=0x820ac84, punit=0x8f34778,
dest_tile=0x40448458) at aiferry.c:459
#5  0x081248b9 in ai_gothere (pplayer=0x820ac84, punit=0x8f34778,
dest_tile=0x40448458) at aitools.c:233
#6  0x08129d94 in ai_military_attack (pplayer=0x820ac84,
punit=0x8f34778) at aiunit.c:1796
#7  0x0812a5f6 in ai_manage_military (pplayer=0x820ac84,
punit=0x8f34778) at aiunit.c:2043
#8  0x0812ab33 in ai_manage_unit (pplayer=0x820ac84, punit=0x8f34778) at
aiunit.c:2182
#9  0x0811f520 in ai_manage_ferryboat (pplayer=0x820ac84,
punit=0x8f622e0) at aiferry.c:788
#10 0x0812aacd in ai_manage_unit (pplayer=0x820ac84, punit=0x8f622e0) at
aiunit.c:2171
#11 0x0812ac77 in ai_manage_units (pplayer=0x820ac84) at aiunit.c:2203
#12 0x08120492 in ai_do_first_activities (pplayer=0x820ac84) at aihand.c:368
#13 0x0804f1cd in ai_start_turn () at srv_main.c:465
#14 0x0804f363 in begin_phase (is_new_phase=true) at srv_main.c:538
#15 0x08050f1a in main_loop () at srv_main.c:1503
#16 0x080517e0 in srv_loop () at srv_main.c:1872
#17 0x0805112a in srv_main () at srv_main.c:1622
#18 0x0804a8fb in main (argc=3, argv=0xbffff7c4) at civserver.c:167

punit is a cannon, ferryboat is a transport.  There are only 5 units on
the tile so the transport can't be full.  Both units are on the same
tile; the tile has a city.  Both units are owned by player 4.  Neither
punit nor ferryboat has the transported_by field set.

So I don't know why handle_unit_load could be failing.  However I will
try adding more sanity checking.  Another possibility is changing the
same_tile() check right above to a can_unit_load() check.

jason



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