add recover func for an unfixed crash bug