<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40617 >

On the trunk, when giving the trireme "RiverNative" flag, the game
forces us to change it's movement type to "Both" in order of it to
work. But doing so cause a in advmilitary.c.
The backtrace:
> civserver: advmilitary.c:1183: kill_something_with: Assertion `SEA_MOVING == 
> utype_move_type(boattype)' failed.

Program received signal SIGABRT, Aborted.
0x00007feec1c313c5 in raise () from /lib/libc.so.6
(gdb) backtrace
#0  0x00007feec1c313c5 in raise () from /lib/libc.so.6
#1  0x00007feec1c3273e in abort () from /lib/libc.so.6
#2  0x00007feec1c2ab1f in __assert_fail () from /lib/libc.so.6
#3  0x00000000004c415c in kill_something_with (pplayer=0x898100,
    pcity=0x1bd2b40, myunit=0x1bcecb0, choice=0x1bd38e0) at advmilitary.c:1183
#4  0x00000000004c437a in military_advisor_choose_build (pplayer=0x898100,
    pcity=0x1bd2b40, choice=0x1bd38e0) at advmilitary.c:1512
#5  0x00000000004ccb33 in ai_manage_cities (pplayer=0x898100) at aicity.c:1754
#6  0x00000000004d1942 in ai_do_last_activities (pplayer=0x898100)
    at aihand.c:460
#7  0x000000000046d64d in srv_running () at srv_main.c:795
#8  0x000000000046dc86 in srv_main () at srv_main.c:2259
#9  0x0000000000404236 in main (argc=3, argv=0x7fffca829328) at civserver.c:283

The AI exepcts the transport to be a boat, moving over seas. Is this
check really neccesary? Should we check if the suggested unit can
reach the target unit some other way, or at least check that the
movement type is not "land"?

Freeciv-dev mailing list

Reply via email to