You’ll need to loop the walking/running animation or have a set of conditions/events that test check to see if the last frame has been reached and then replays the animation if the player is moving. Another big problem is that if the horizontal speed is 2000 the condition that player is moving is still true, so GDevelop is trying to switch between two animations (walk and run), this could also lead to the problem of the frame getting stuck.
MrMen describes this animation flipping phenomena here Animation not working on diagonals - #2 by MrMen