Thread 1 "freeciv-gtk3.22" received signal SIGSEGV, Segmentation fault.
With the latter save I get:
1: in player_slot_index() [../../../src/common/player.c::419]: assertion '((void *)0) != pslot' failed.
with backtrace shown similar to yours.
CM already runs when one end of a traderoute is received, without the client having proper information about the other end. That shouldn't cause problems in itself, but this time client *thinks* it already knows the other end - it has created a dummy placeholder city for a tile info with 'worked' set to that city.
I rechecked S2_6. While the trade code has changed a lot between S2_6 and S3_0, I think S2_6 is affected in principle to the case where there is partially known trade partner city.
Current status of this ticket: Pushed to all later branches, but there's not even patch for S2_6 yet.
The game crashed while i was playing.
The server managed to do an auto-quit-save , and i got 100% reproducible crash with it:
I compiled 3.0.beta1 with debug and profile, ( then sudo make install on a clean machine with all previous freeciv removed )
Running in gdb : Server :
Client gtk3.22 :