<URL: http://bugs.freeciv.org/Ticket/Display.html?id=34145 >
On 1/20/07, Marko Lindqvist <[EMAIL PROTECTED]> wrote: > > <URL: http://bugs.freeciv.org/Ticket/Display.html?id=34145 > > > Autogames differ between executions. > > This is what valgrind found out: > > ==6086== Conditional jump or move depends on uninitialised value(s) > ==6086== at 0x811ED99: ai_manage_ferryboat (aiferry.c:795) > ==6086== by 0x812F8AD: ai_manage_unit (aiunit.c:2150) > ==6086== by 0x812FE8F: ai_manage_units (aiunit.c:2268) > ==6086== by 0x8120681: ai_do_first_activities (aihand.c:425) > ==6086== by 0x80527A5: main_loop (srv_main.c:536) > ==6086== by 0x80533E3: srv_main (srv_main.c:1993) > ==6086== by 0x804A63B: main (civserver.c:256) Initializing ai.choice for newly built cities and cities from huts seems to fix autogame problem. I'm still running valgrind test. - ML
diff -Nurd -X.diff_ignore freeciv/server/settlers.c freeciv/server/settlers.c --- freeciv/server/settlers.c 2007-01-18 17:20:23.000000000 +0200 +++ freeciv/server/settlers.c 2007-01-20 11:23:34.000000000 +0200 @@ -100,6 +100,9 @@ assert(pplayer == city_owner(pcity)); initialize_infrastructure_cache(pplayer); + /* Init ai.choice. Handling ferryboats might use it. */ + init_choice(&pcity->ai.choice); + return TRUE; } diff -Nurd -X.diff_ignore freeciv/server/unittools.c freeciv/server/unittools.c --- freeciv/server/unittools.c 2007-01-19 14:06:45.000000000 +0200 +++ freeciv/server/unittools.c 2007-01-20 11:34:38.000000000 +0200 @@ -2309,6 +2309,9 @@ initialize_infrastructure_cache(pplayer); } + /* Init ai.choice. Handling ferryboats might use it. */ + init_choice(&punit->tile->city->ai.choice); + } else { notify_player(pplayer, punit->tile, E_HUT_SETTLER, _("Friendly nomads are impressed by you,"
_______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev