Update of bug #21616 (project freeciv):
Summary: Event cache memory corruption => Alternative phases
Follow-up Comment #2:
I think I've now found out the core problem.
As treaty is proposed to ai player whose phase it isn't, adv_data_get()
returns the data pointer (in this particular case the data was also
recalculated with adv_data_phase_init() + adv_data_phase_done(), but I think
it's not necessary for bug to occur). Unfortunately all the data isn't there
as static members once phase is closed, but is stored via pointers for which
the memory is free()d. Also other data seems to get invalidated in
I think adv_data_phase_done() has changed relatively recently in this respect.
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list