It seems that unit_attack_civilian_casualties() call causes the city to get destroyed, taking supported units with it, and the failed defender was one of those.
Only master affected, as older branches do not reduce city size in case it's already 1, i.e., city never gets destroyed in that call.
I'm looking at map_get_seen() segfault with the new fantasy ruleset. So far it seems that pdefender in send_combat() is garbage pointer (or at least it points to garbage content), which then leads to garbage playermap pointer to access seen counters.