When you're working with a "provider" model for services in your applications you get used to the assumption that everything follows the Liskov Substitution Principle and whatever provider you plug in will work in the same way. Unfortunately, for software our in the real world that's not always entirely true. Recently I came across an example of this which helped point out a bug in some search code in Sitecore...
The other day I realised that my home server hadn't sent me it's daily "Health Report" email. Having done the usual simple test of "is the server up?" and "what happens if I reboot it?", I ended up digging through the Event Log and Google to work out what was wrong. In case this happens to me again, or happens to you, here's what I found: