Boolean difference modifier not working on a custom mesh
(Assuming Blender 2.80)
The anvil has a defect geometry. To fix this, select the anvil, go edit mode.
Then "Merge Vertice->By Distance" and leave Edit mode. Then it looks like this:


PS: I switched the cylinder into "Wire" display...