Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2005:
[Freeciv-Dev] (PR#14649) Assertion Failure, Client handle_tile_info
Home

[Freeciv-Dev] (PR#14649) Assertion Failure, Client handle_tile_info

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] (PR#14649) Assertion Failure, Client handle_tile_info
From: "Benedict Adamson" <badamson@xxxxxxxxxxx>
Date: Sun, 20 Nov 2005 07:20:42 -0800
Reply-to: bugs@xxxxxxxxxxx

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

The SVN HEAD version of the Gtk client sometoimes crashes because the 
following assertion fails:
packhand.c:1993: handle_tile_info: Assertion 
`unit_list_size(ptile->units) == 0' failed.

The interesting parts of the stack back-trace are as follows:
#3  0x08077d82 in handle_tile_info (packet=0x8a50970) at packhand.c:1993
#4  0x0807a2b4 in client_handle_packet (type=PACKET_TILE_INFO,
     packet=0x8a50970) at packhand_gen.c:67
#5  0x080590ac in handle_packet_input (packet=0x8a50970, type=14)
     at civclient.c:390
#6  0x0805d75b in input_from_server (fd=8) at clinet.c:349
#7  0x08128028 in get_net_input (data=0x0, fid=8, condition=GDK_INPUT_READ)
     at gui_main.c:1577
#8  0x4031b67b in gdk_get_show_events () from /usr/lib/libgdk-x11-2.0.so.0

The logc seems to be that the assertion fails if the client receives a 
packet telling it that a known tile has become fogged... which is a 
valid state. Have I misunderstood it? Or should the line

   if (client_tile_get_known(ptile) <= TILE_KNOWN_FOGGED
       && old_known == TILE_KNOWN) {

be

   if (client_tile_get_known(ptile) < TILE_KNOWN_FOGGED
       && old_known == TILE_KNOWN) {






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