This happened to me a few months ago - I was getting some sort of error in contact syncing, and it kept endlessly retrying, sapping the battery pretty quickly.
Other people in the past have reported issues with Facebook contact syncing; see, for example,
here,
here and
here for their solution.
This was not my issue, however, and if it is not a Facebook sync issue for you, either, I believe what I did was this (right now I am not running my Eris with an HTC-based ROM, so I can't tell for sure if these are all the same for your phone):
- Go into Google contacts in your PC browser (
not on the phone.) "More actions" button, export, choose to export all of your contacts to Google CSV format. (Just in case...) This will download a file that you can import later, if you need to.
- Settings->Accounts & Sync, turn off background sync
- Settings->Applications->Manage applications. Wait for it to refresh. Go to "Contacts storage" and click the button to clear data.
- Reboot the phone (that may not be necessary.) Turn on background sync. Let Google resync complete. If it does complete, check to see if you have your contacts back on the phone. If they are all gone, and also all gone back on Google on a PC browser, import them from that CSV file and let the phone sync them back.
Hopefully, that is what I did. I should have taken notes, but I do know that I did fix it without a factory reset.
(Note: I just did one more search, and
it seems that this will work.)
Also, if you have any phone-only contacts, they will be lost; if you do, let me know, and I'll see if I can dig up a way to back them up before you wipe data first.