Self-flagellation is means to punish oneself. It is often used figuratively to express the criticisms we often make ourselves by some mistake we made.
* Only one "like" per meaning and day, the more "likes" the meaning will appear higher in the list