Tropical Fish, Salmon, and Cod (didn't happen with pufferfish in my testing) randomly stop moving after a while, even when right next to the player. They don't move or turn, but their swimming animation continues while they stay in place. Relogging fixes it temporarily, so does unloading and reloading the area. Hitting the fish also makes them start moving again.
They specifically end up freezing at whole number y coordinates. Even the mobs trying to move into corners will gather at a specific y value and stay there. Fish in the same school seem to all be at the exact same y level. This isn't universally true, some fish freeze in other places, but it is a noticeable trend. It's easiest to notice with tropical fish, because they're so small.
- Create a body of water of any size. I used a 8 x 8 x 5 box
- Fill it with tropical fish (you want at least a couple schools, I did about 100 fish)
- Wait. Some fish stop moving within a couple minutes. Within 6 or 7 minutes, most tropical fish will either be crowding into a corner or have stopped moving entirely. The larger fish seem to take longer, at least when densely packed together.