Complete.Org: Mailing Lists: Archives: freeciv-dev: July 2003:
[Freeciv-Dev] (PR#4633) Assertion triggers in citydlg_common.c:320
Home

[Freeciv-Dev] (PR#4633) Assertion triggers in citydlg_common.c:320

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] (PR#4633) Assertion triggers in citydlg_common.c:320
From: "mateusz stefek" <matusik_s@xxxxx>
Date: Mon, 21 Jul 2003 04:39:19 -0700
Reply-to: rt@xxxxxxxxxxxxxx

This is bug in current cvs version. It 'works' in gtk2 and gtk client. 
(I didn't test others)

Open cis.gz, login as mateusz, start the game, press [Turn Done] and 
try to open a city which is building an airport. (It's an AI controlled 
civilization). Client crashes with message:
civclient: citydlg_common.c:320: get_city_citizen_types: Assertion `i 
== pcity->size' failed.

Here's an example backtrace:
(gdb) backtrace
#0  0x405bb481 in kill () from /lib/i686/libc.so.6
#1  0x404fcacd in pthread_kill () from /lib/i686/libpthread.so.0
#2  0x404fcdeb in raise () from /lib/i686/libpthread.so.0
#3  0x405bb224 in raise () from /lib/i686/libc.so.6
#4  0x405bc76b in abort () from /lib/i686/libc.so.6
#5  0x405b4745 in __assert_fail () from /lib/i686/libc.so.6
#6  0x08066d8f in get_city_citizen_types (pcity=0x857bcc0, index=0,
     citizens=0xbfffeea0) at citydlg_common.c:320
#7  0x080a135e in refresh_pixcomm (dst=0x8647368, pcity=0x857bcc0, 
index=0)
     at happiness.c:166
#8  0x080a1434 in refresh_happiness_dialog (pcity=0x857bcc0) at 
happiness.c:189
#9  0x080a12d0 in create_happiness_dialog (pcity=0x857bcc0) at 
happiness.c:151
[...]
(gdb) select 6
(gdb) print index
$1 = 0
(gdb) print pcity->ppl_happy
$2 = {0, 0, 0, 0, 5}
(gdb) print pcity->ppl_content
$3 = {3, 3, 5, 5, 5}
(gdb) print pcity->ppl_unhappy
$4 = {2, 2, 0, 0, 0}
(gdb) print pcity->ppl_angry
$5 = {0, 0, 0, 0, 0}
(gdb) print pcity->ppl_elvis
$6 = 5
(gdb) print pcity->ppl_scientist
$7 = 0
(gdb) print pcity->ppl_taxman
$8 = 0
(gdb) print i
$9 = 10
(gdb) print pcity->size
$10 = 5
(gdb)

Somehow client thinks that in the city of size 5 there are 3 content, 2 
unhappy and 5 elvises.
Note that the player is in AI mode.
I suppose that the client goes crazy during turn done calculations. (AI 
doesn't build airports so massively and B_AIRPORT==0)

Happy debugging !
--
mateusz



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