Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2005:
[Freeciv-Dev] assert 'unit_owner(punit) == city_owner(new_pcity)' from u
Home

[Freeciv-Dev] assert 'unit_owner(punit) == city_owner(new_pcity)' from u

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv-Dev <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] assert 'unit_owner(punit) == city_owner(new_pcity)' from unithand.c failed
From: Marko Lindqvist <marko.lindqvist@xxxxxxxxxxx>
Date: Sun, 29 May 2005 22:42:24 +0300


Commit message for this assert claims that it is added in order to catch some bug (PR ?), so I send this backtrace from patched version even though I cannot reproduce with plain CVS version. Line numbers may differ from CVS version.


#1 0x004aeabc in real_unit_change_homecity (punit=0x1073f790, new_pcity=0x106f8ec8)
    at ../../freeciv-patch/server/unithand.c:333
        punit = (struct unit *) 0x22e910
        new_pcity = (struct city *) 0x106f8ec8
        old_pcity = (struct city *) 0x0
        old_owner = (struct player *) 0x5ca270
        new_owner = (struct player *) 0x5ccc60
#2 0x00463a71 in transfer_city_units (pplayer=0x5ccc60, pvictim=0x5ca270, units=0x106fa3f0,
    pcity=0x106f8ec8, exclude_city=0x0, kill_outside=1, verbose=true)
    at ../../freeciv-patch/server/citytools.c:597
        new_home_city = (struct city *) 0x0
        vunit = (struct unit *) 0x1073f790
        _ids = (int (*)[0]) 0x22eb6c
        _i = 1
        _size = 2
        verbose = true
        ptile = (struct tile *) 0x1025c00c
#3 0x00464113 in transfer_city (ptaker=0x5ccc60, pcity=0x106f8ec8, kill_outside=1,
    transfer_unit_verbose=true, resolve_stack=true, raze=false)
    at ../../freeciv-patch/server/citytools.c:810
        pcity = (struct city *) 0x106f8ec8
        kill_outside = 3
        transfer_unit_verbose = true
        resolve_stack = true
        raze = false
        i = 2288680
        pgiver = (struct player *) 0x5ca270
        old_trade_routes = {6081632, 6070896, 2288728, 4642951}
        had_small_wonders = {vec = '\0' <repeats 24 times>}
old_city_name = "Eridu\000\000\000dë\"\000të\"\000@#\020\020 #\020\020(ì\"\000ï/A" #4 0x004b9551 in diplomat_incite (pplayer=0x5ccc60, pdiplomat=0x1075a9b0, pcity=0x106f8ec8)
    at ../../freeciv-patch/server/diplomats.c:831
        pplayer = (struct player *) 0x5ccc60
        pdiplomat = (struct unit *) 0x1075a9b0
        pcity = (struct city *) 0x106f8ec8
        cplayer = (struct player *) 0x1
        revolt_cost = 63
#5  0x004dc69a in ai_diplomat_city (punit=0x1075a9b0, ctarget=0x106f8ec8)
    at ../../freeciv-patch/ai/aidiplomat.c:285
        pplayer = (struct player *) 0x1
        tplayer = (struct player *) 0x106f8ec8
        count_impr = 1
        count_tech = 0
        gold_avail = 6081632
        incite_cost = 3
#6  0x004dd475 in ai_manage_diplomat (pplayer=0x5ccc60, punit=0x1075a9b0)
    at ../../freeciv-patch/ai/aidiplomat.c:679
        dist = 1
        path = (struct pf_path *) 0x1036a908
        punit = (struct unit *) 0x1075a9b0
        cplayer = (struct player *) 0x1
        revolt_cost = 63
#5  0x004dc69a in ai_diplomat_city (punit=0x1075a9b0, ctarget=0x106f8ec8)
    at ../../freeciv-patch/ai/aidiplomat.c:285
        pplayer = (struct player *) 0x1
        tplayer = (struct player *) 0x106f8ec8
        count_impr = 1
        count_tech = 0
        gold_avail = 6081632
        incite_cost = 3
#6  0x004dd475 in ai_manage_diplomat (pplayer=0x5ccc60, punit=0x1075a9b0)
    at ../../freeciv-patch/ai/aidiplomat.c:679
        dist = 1
        path = (struct pf_path *) 0x1036a908
        punit = (struct unit *) 0x1075a9b0
        pcity = (struct city *) 0x1036a908
        ctarget = (struct city *) 0x106f8ec8
parameter = {start_tile = 0x1025d290, moves_left_initially = 6, move_rate = 6, owner = 0x5ccc60, unit_flags = {vec = "\030\000\002\000\000\000\000"}, omniscience = true, turn_mode = TM_WORST_TIME, get_MC = 0x4e7330 <normal_move_unit>, get_TB = 0, get_EC = 0, get_zoc = 0, is_pos_dangerous = 0x4e79d0 <is_pos_dangerous>, get_costs = 0, data = 0x22ed88}
        map = (struct pf_map *) 0x10701590
pos = {tile = 0x0, turn = 18, moves_left = 2288968, total_MC = 1628402554,
  total_EC = 2288944, dir_to_next_pos = 2288944, dir_to_here = 2288968}
#7  0x004dadc2 in ai_manage_unit (pplayer=0x5ccc60, punit=0x1075a9b0)
    at ../../freeciv-patch/ai/aiunit.c:2104
        pplayer = (struct player *) 0x5ccc60
        punit = (struct unit *) 0x1075a9b0
        bodyguard = (struct unit *) 0x0
#8 0x004db426 in ai_manage_units (pplayer=0x5ccc60) at ../../freeciv-patch/ai/aiunit.c:2239
        myiter = (struct genlist_link *) 0x2
        punit = (struct unit *) 0x3
#9  0x004cf7d0 in ai_do_first_activities (pplayer=0x5ccc60)
    at ../../freeciv-patch/ai/aihand.c:426
        pplayer = (struct player *) 0x5ccc60
#10 0x0045e3db in ai_start_phase () at ../../freeciv-patch/server/srv_main.c:452
        pplayer = (struct player *) 0x5ccc60
        i = 3
#11 0x0045e745 in begin_phase (is_new_phase=true) at ../../freeciv-patch/server/srv_main.c:574
        is_new_phase = true
        line = 573
#12 0x004608cc in main_loop () at ../../freeciv-patch/server/srv_main.c:1587
        eot_timer = (struct timer *) 0x10337a68
        save_counter = 9
        is_new_turn = true
#13 0x00460f04 in srv_loop () at ../../freeciv-patch/server/srv_main.c:1893
        pplayer = (struct player *) 0x3
        PI_p_itr = 7
        PI_p_itr = 7
        PI_p_itr = 7
        PI_p_itr = 7
        PI_p_itr = 7
#14 0x00460bb6 in srv_main () at ../../freeciv-patch/server/srv_main.c:1710
        tthis = (const struct conn_list *) 0x3
#15 0x004014d1 in main (argc=3, argv=0x10101808) at ../../freeciv-patch/server/civserver.c:242
        argc = 3
        argv = (char **) 0x10101808
        inx = 3
        showhelp = false
        showvers = false
        option = 0x5185d2 "freeciv_server"



 - ML




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