Running it in the debugger it triggers an assert in civics loading of a rebel player. The player seems to have several civic options set to NO_CIVIC. Then the code tries to take the default civic of the civ for that category but that is not set for many civs (all?).
So it ends up trying to get item -1 of an array which is outside that array and can cause all kind of weird things.
My guess is that the new civic choice code for AIs does not always choose a civic or chooses the default initial civic of the civ (-1 for lots of categories).
Close, but not quite. Its a bug in the initial civics due to a typo in the code that manages them. I have a fix which will be pushed later today after I finish analyzing and fixing the other CTDs reported above (they are not all the same thing)