If it's not a rebellious city, or you're unable to prevent the revolt through other means, you can try to take over control of the faction in question.
Make a backup copy of your savegame just in case.
Make a backup copy of eb/data/scripts/show_me/generic_script.txt.
Modify eb/data/scripts/show_me/generic_script.txt to include a line console_command control <troublesome faction> between script and end script. Look up the internal name of the faction in question here:
seleucid - Romani
greek_cities - Koinon Hellenon
thrace - Epeiros
macedon - Makedonia
numidia - Ptolemaioi
romans_julii - Arche Seleukeia
romans_brutii - Baktria
romans_scipii - Hayasdan
carthage - Pontos
pontus - Saka Rauka
armenia - Sauromatae
parthia - Pahlava
dacia - Getai
germans - Sweboz
scythia - Arverni
gauls - Aedui
britons - Casse
spain - Lusotannan
egypt - Qarthadastim
saba - Saba
Run EB and load your savegame. Activate the normal background script.
Activate the generic script by pressing F1 on your keyboard, then the question mark button and finally SHOW ME. You should lose control of your faction and gain control over the troublesome one.
Save the game at this point so you can experiment freely.
Do stuff to see if you can get around the problem. Make sure they don't have any revolts, check out their characters for clones (if so, endeavour to move them somewhere they can't interact with anything), cancel all construction/recruitment, destroy all governments, move all their units around and so on. Experiment without inhibitions. End turn.
If you do get past the crash, save and exit the game.
Modify the generic_script.txt to no longer switch control to the troublesome faction, but rather back to your own.
Run EB and load the savegame. Do the same maneuver you did when transferring control to the other faction; F1 and so on.
When you're back to your own faction, save the game and exit.
Revert the generic_script.txt to the original one.
Run EB and continue your campaign.
Bookmarks