It has something to do with the frame rate. Just replace time_step with 0.2666. This runs the calculation at "60 fps". The block will land on the same spot every time independently from the frame rate. With time_step and 20 fps you'll get some never ending vibrations because time_step gets to large to calculate a stable result.