Detecting deadlock with client-server analysis