Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2003:
[Freeciv-Dev] (PR#6222) memory corruption
Home

[Freeciv-Dev] (PR#6222) memory corruption

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] (PR#6222) memory corruption
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Sun, 21 Sep 2003 02:51:09 -0700
Reply-to: rt@xxxxxxxxxxxxxx

I've found an alarming bug in CVS. I cannot figure out what is going on.
It is the CM-in-server code that freaks out:

0: Kalmar is illegal (size4 w4 e2 t0 s0) in cityturn.c line 174

But this seems to merely be where the bug surfaces and is caught. The
backtrace shows something weird is going on:

#4  0x08065f98 in real_sanity_check_city (pcity=0x8468418,
    file=0x80e3821 "cityturn.c", line=174) at cityturn.c:157
#5  0x08065fed in auto_arrange_workers (pcity=0x8468418) at cityturn.c:174
#6  0x08065959 in update_city_tile_status (pcity=0x8468418, city_x=4,
city_y=1)
    at citytools.c:2040
#7  0x0806570f in server_set_tile_city (pcity=0x84dd0e0, city_x=13,
    city_y=138839064, type=3221218156) at citytools.c:1968
#8  0x08065934 in update_city_tile_status (pcity=0x84dd0e0, city_x=2,
city_y=4)
    at citytools.c:2055
#9  0x0806570f in server_set_tile_city (pcity=0x8468418, city_x=10,
    city_y=139317472, type=3221218268) at citytools.c:1968
#10 0x0806581a in server_set_worker_city (pcity=0x8468418, city_x=4,
city_y=1)
    at citytools.c:1995
#11 0x08066174 in auto_arrange_workers (pcity=0x8468418) at cityturn.c:243
#12 0x08065959 in update_city_tile_status (pcity=0x8468418, city_x=3,
city_y=0)
    at citytools.c:2040
#13 0x08065886 in update_city_tile_status_map (pcity=0x8468418, map_x=22,
#14 0x080636f1 in transfer_city (ptaker=0x8220ce8, pcity=0x8468418,
    kill_outside=0, transfer_unit_verbose=true, resolve_stack=true,
raze=true)
#15 0x080643e4 in handle_unit_enter_city (punit=0x87b1d10,
pcity=0x8468418)
    at citytools.c:1297
#16 0x0805edfa in handle_unit_move_consequences (punit=0x87b1d10,
src_x=20,
    src_y=27, dest_x=21, dest_y=28) at unittools.c:2703
#17 0x0805f373 in move_unit (punit=0x87b1d10, dest_x=21, dest_y=28,
    transport_units=true, take_from_land=true, move_cost=1) at
unittools.c:2967
#18 0x08057992 in handle_unit_move_request (punit=0x87b1d10, x=21, y=28,
    igzoc=false, move_diplomat_city=false) at unithand.c:1120
#19 0x08056b5a in handle_move_unit (pplayer=0x8220ce8, pmove=0xbfffe830)
    at unithand.c:661
#20 0x080c47f8 in ai_unit_attack (punit=0x87b1d10, x=21, y=28) at
aitools.c:291
#21 0x080c6e65 in ai_unit_execute_path (punit=0x87b1d10, path=0x83e65b0)
    at aiunit.c:1086
#22 0x080c6f53 in ai_military_rampage (punit=0x87b1d10, thresh_adj=1,
    thresh_move=1) at aiunit.c:1128
#23 0x080c8b37 in ai_military_gohome (pplayer=0x8220ce8, punit=0x87b1d10)

In #9, two parameters that are passed on to another function call are
suddenly corrupted. There is nothing in server_set_worker_city() that
could have done this.

I have no savegame that reproduces it, but I get it whenever I run a very
long autogame with very many AIs.

  - Per




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