I was going to say that it was impossible for an umpire to determine if Butler was out of his ground at the "normal point of release", and how could the average club umpire ever hope to get that right?
But looking up the laws of cricket I'm still a little unclear.
From the MCC laws of cricket effective Oct 2017 :-
41.16 Non-striker leaving his/her ground early.
If the non-striker is out of his/her ground from the moment the ball comes into play to the instant when the bowler would normally have been expected to release the ball, the bowler is permitted to attempt to run him/her out. Whether the attempt is successful or not, the ball shall not count as one in the over.
If the bowler fails in an attempt to run out the non-striker, the umpire shall call and signal Dead ball as soon as possible.
So based on that, Ashwin did not attempt the run out in between the ball coming into play and expected release of the ball. The wicket was broken much after 'expected release', so according to that, it should have been not out, and given a dead ball.
Unless I've downloaded the wrong rules of cricket?
Edit - would appear I've been reading it wrong, as the rule does not state that the run out attempt must be made between ball in play and expected release. I thought the rule was meant to weed out mankads after the point of release, but the wording of the rule does not do this.
Adding a comma makes a huge difference.
If the non-striker is out of his/her ground from the moment the ball comes into play to the instant when the bowler would normally have been expected to release the ball, the bowler is permitted to attempt to run him/her out.
If the non-striker is out of his/her ground, from the moment the ball comes into play to the instant when the bowler would normally have been expected to release the ball, the bowler is permitted to attempt to run him/her out.