When handling unit escape, potential units are iterated with iterate_unit_list(ptile->units). If the unit does escape, it will leave the ptile->units list. Bad things can happen when iterating over a list that changes during the iteration. In this case it most likely causes later units in the original tile not to be considered for escaping at all, though a server crash is not impossible.
When handling unit escape, potential units are iterated with iterate_unit_list(ptile->units). If the unit does escape, it will leave the ptile->units list. Bad things can happen when iterating over a list that changes during the iteration. In this case it most likely causes later units in the original tile not to be considered for escaping at all, though a server crash is not impossible.
This should use iterate_unit_list_safe()