Hello there!
So, this has happened twice now, when a Persean League Fleet retreated from the Battlefield at first and then decided to take another swing at the Battlestation. To make it clear, the fleet retreated during the battle but attacked again without disengaging (aka after the battle i get the message that they turning for another fight, only options are 1. Comms 2. Engage them again). Re-engaging triggers a CTD.
6584836 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.combat.CombatFleetManager$O0.getLocation(Unknown Source)
at com.fs.starfarer.combat.CombatFleetManager.advanceSeenEnemies(Unknown Source)
at com.fs.starfarer.combat.CombatFleetManager.advance(Unknown Source)
at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
at com.fs.starfarer.combat.CombatState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
edit: "Fixed it" by winning decisivly and making them run.