Follow-up Comment #17, bug #13498 (project freeciv):

freeciv version 2.1.9, client-gtk-2.0
Slackware 13.0

I've just experienced the same bug: 
civclient: city.c:553: city_owner: Assertion `((void *)0) != pcity && ((void
*)0) != pcity->owner' failed.

I think in my case it has occurred after double-clicking in a message listbox
but not sure (it's possible I was clicking after the assert as the gdb was
hidden on another desktop). 

Seems my backtrace slightly differs from the others so hopefully this can
bring more info.

Some info from gdb:
(gdb) bt
#0  0xb7691456 in raise () from /lib/
#1  0xb7692e08 in abort () from /lib/
#2  0xb768a3f0 in __assert_fail () from /lib/
#3  0x080a583b in city_owner (pcity=0x9f780a0) at city.c:553
#4  0x080730b9 in find_city_or_settler_near_tile (ptile=0xb6cafe34, 
    punit=0xbfc2f308) at mapview_common.c:2005
#5  0x08092ba5 in fill_city_overlays_sprite_array (t=0x827c050, 
    sprs=0xbfc2f440, ptile=0xb6cafe34, citymode=0x0) at tilespec.c:3427
#6  0x0809666e in fill_sprite_array (t=0x827c050, sprs=0xbfc2f440, 
    layer=LAYER_OVERLAYS, ptile=0xb6cafe34, pedge=0x0, pcorner=0x0,
    pcity=0x0, citymode=0x0) at tilespec.c:4263
#7  0x0806e1ed in put_one_element (pcanvas=0x902c0e0, layer=LAYER_OVERLAYS, 
    ptile=0xb6cafe34, pedge=0x0, pcorner=0x0, punit=0x0, pcity=0x0, 
    canvas_x=547, canvas_y=216, citymode=0x0) at mapview_common.c:913
#8  0x0806e76a in put_one_tile (pcanvas=0x902c0e0, layer=LAYER_OVERLAYS, 
    ptile=0xb6cafe34, canvas_x=547, canvas_y=216, citymode=0x0)
    at mapview_common.c:1083
#9  0x0806f9bb in update_map_canvas (canvas_x=315, canvas_y=0, width=1049, 
    height=504) at mapview_common.c:1282
#10 0x0806d2ec in base_set_mapview_origin (gui_x0=4343, gui_y0=1584)
    at mapview_common.c:525
#11 0x0806d5a6 in set_mapview_origin (gui_x0=4343, gui_y0=1584)
    at mapview_common.c:605
#12 0x0806de2a in center_tile_mapcanvas (ptile=0xb6cbde64)
    at mapview_common.c:797
#13 0x08075710 in meswin_popup_city (message_index=0)
    at messagewin_common.c:201
#14 0x0807581c in meswin_double_click (message_index=0)
    at messagewin_common.c:239
#15 0x0814145d in meswin_row_activated_callback (view=0x8ff3d40, 
    path=0xb973260, col=0x901a188, data=0x0) at messagewin.c:326
#16 0xb7e04a73 in ?? () from /usr/lib/
#17 0x08ff3d40 in ?? ()
#18 0x0b973260 in ?? ()
#19 0x0901a188 in ?? ()
#20 0x00000000 in ?? ()

(gdb) p pcity
$1 = (const struct city *) 0x9f780a0
(gdb) p pcity->owner
$2 = (struct player *) 0x0

Seems the problem is that pcity->owner == NULL, at least in my case. 

Please note I was running in VirtualBox and I've saved the state of the OS
with the gdb session running so I can dig more info from it (if you know what
you need, feel free to ask ;-)

Hope it helps.


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to