AddressSanitizer: SEGV freeciv-3.0.3/common/extras.c:787 in can_extras_coexist
As this is from idle_callback_wrapper(), there's a risk of inconsistent game state (you never know when the idle timer runs).
On thing I could see as a possible explanation:
The unit in question (on the tile, not one in focus) has been doing terrain transformative form (->no target) of ACTIVITY_IRRIGATE or ACTIVITY_MINE. Tile's terrain has just changed (client has received that packet), but the unit's activity has not been cancelled (the client has not yet received that packet). Now the logic in is_build_activity() detects that on the current terrain type ACTIVITY_IRRIGATE / ACTIVITY_MINE would not be terrain transformative, but extra building activities. Thus the caller expects there to be built target set, while it never was, for the transformative activity.
That would make on S3_0 (and earlier affected) as there's not activities with two different forms in later branches.
a lot of units were doing terrain transformation irrigate at the time. so this sounds reasonable.
With no way to confirm what actually happened, assuming that the cause was what I guess - and it's a bug in any case.
Patch attached - maybe a bit targeted one, considering the risky approach of idle callbacks refreshing menus and whatnot. This is meant for S3_0 and S2_6 only - later branches should not have this (very) problem.
詳細