PLL: cycle slipping correction
Costas loop (and other PLL-based synchronization algorithms) tend to lose lock when the frequency offset is higher than the pull-in range (i.e. maximum frequency offset the said algorithm can cope with). Thus, a coarse frequency recovery algorithm is typically included in practice. The general practice is to put the coarse frequency recovery before the Costas loop. There are many ways of doing coarse frequency recovery including FFT-based algorithms and the frequency-locked loop (FLL) (described in Harris paper. My favorite is FFT due to its generality. The FFT algorithm can be found on the GOES satellite user manual and is summarized in the figure below.

The algorithm works by:

Carrier detection by absolute-law (residual carrier), square-law (BPSK) or fourth-power law (QPSK). Square law detector involves squaring the IQ signal while fourth-power law uses the fourth-power of the IQ signal.
Finding the FFT
Averaging successive FFT sequences
Finding the peak by looking at 8 adjacent bins with the highest magnitude.

Below is a GNU Radio example for BPSK (square law). As you can see, an FFT is included at the very beginning to reduce the frequency offset (in my case it was Doppler shift/rate + carrier oscillator offset).

If you are interested, you could have a look at a paper I wrote a couple of years ago. The paper covers all aspects of synchronization including phase, frequency, and timing.
I hope this helps. Good luck.