[feature] fix deadlock