Did a Google search and it seems that this is a corrupt contacts database issue. You can try to move all your contacts to a Gmail account so they are stored online, go online and export your Gmail contacts as a backup, then go to Settings, Manage Apps, Contacts and the choose Clear Data. THIS WILL DELETE ALL YOUR CONTACTS, but since you stored them in Gmail, it should repopulate on your Android. Use at your own risk as I have not actually done this on my device. Good Luck! and post back if it works.
I tried this just now on my Galaxy Nexus and it worked just fine. I shut down the phone and restarted.
The directions are a bit off possibly due to differences in the versions. I'm on ICS, but I figured my way through it quite easily.
Of note, in ICS (maybe other versions, don't know) there are two Contacts apps. One is Contacts and the other is Contacts Storage. I cleared data on both apps just to be safe.
The contact autopopulated back in the time it took to set up my own profile. Less than a few minutes.
If you don't clear the contacts data you still have the same corrupt database. When I had this issue on a previous device I found that just copying the data back and forth to the SD card just moved the corrupt database around. It seemed that migrating the contacts between Gmail and the device straightened everything out.
Sent from my Verizon Wireless 4G LTE DROID RAZR MAXX
I'm afraid if you just transfer your contacts between your SD card and your device you will just be copying the same corrupt data back and forth. I had a BB with a corrupt contact database and backing up and restoring didn't fix it. When I uploaded all the contacts to Gmail, deleted the contacts (clear data), and allowed it to resync it fixed it. Post back what works.