doesn't look good, happened to one of my longfin senegals a while back. Antibotics didn't help and he eventually died. It wasn't a rock in my case either, as he was in a sand tank.
My guess is that it is some sort of digestive blockage, try feeding him some catfish as I hear that helps clear them out.
It looks wounded due to the fact that it is an internal infection and/or that the swelling is beginning to rupture the skin.