message: More pessimization
  Summary:
  Catch `BlockingIOError` which really means buck screwed up - just don't fail Redex. This will make the buck errors silent, which is not great, either.
  Add logging.
diff: @@ -104,7 +104,8 @@ class BuckConnection:
  local.write(os.linesep)
  local.write(message)
  local.flush()
  - except BrokenPipeError:
  + except (BrokenPipeError, BlockingIOError) as e:
  + logging.error("Buck pipe is broken! %s", e)
  self.has_buck = False
  self.event_pipe = None
  