boolean modifier failure
The bmesh fails in some cases, try the Carve solver instead.


[Click on the image to enlarge.]

The documentation is very sparse about the inner workings of this option.


  Solver
  Determines what set of algorithms are used to calculate the boolean operation. Carve uses the external Carve Library while BMesh uses Blender’s built-in library and should give better results.