Better timeout handling
try recover from hang