I was working with a client the other day who was having problems with search.  They had a SharePoint site that search couldn’t crawl.  The first thing to check was obviously permissions and those all worked fine.  I started digging into it and found it was the error: Error HRESULT E_FAIL has been returned from a call to a COM component.

When looking for a fix I ran across this post in the TechNet forums that gave me the answer.  Your web.config file may have identity impersonate=false.  Sure enough, I looked at the web.config and impersonate=false.  I changed it to =true, performed an iisreset and reran the full crawl.  Success!!  The downside…it did indeed break a custom feature that was installed in the farm.  So now we are on to fixing that problem.