The bug

Zombie pigmen can become aggressive to the player if hit by another mob (i.e. skeletons and blazes), and newly spawned pigmen (even hundreds of blocks from the incident) will spawn aggressive without provocation. They attack only the player if they're hit by a different agro'd hostile mob.

Replicate: (In creative) Spawn a lot of pigmen (with dispenser and redstone clock), and a skeleton. (Switch to survival) the skeleton will shoot at the player, but hit a pigmen instead. Kill the skeleton, and then all of the pigmen will attack the you, regardless of whether you hit them.

TL;DR: Any hostile mob hits zombie pigmen. You kill the hostile mob. Pigmen attack you.

Code analysis

This behavior might be intended, see this and this comment.