- While in sleep mode, the iPhone hangs when receiving a phone call.
- The Contacts app launches slowly, and exhibits jerky scrolling (especially with large contact databases)
- The iPhone detects an incoming phone call and awakens
- The iPhone grabs the caller ID information
- The iPhone application MobliePhone passes the caller ID information to the application Contacts
- The Contacts application looks in its database for a record that matches the caller ID
- If there is a match, a picture of the caller and name (if present), are displayed on the screen, and phone rings.
To identify the defective record, I opened the Contacts application, and tapped on the suspected entry -- and alas, it took five to seven seconds to open. I resolved this by simply deleting and re-creating the record, and now it opens quickly (in about one second). Incoming calls from this number no longer hang the phone after dozens of tests.
Another side benefit of identifying and replacing corrupt Contacts record(s) is the elimination of the slow launch and jerky scrolling problems. I have almost 3,000 contacts, and there is no hint of delayed launch or jerkiness after re-creating the bad entry. Bottom line: if your Contacts application launches slowly or exhibits jerky scrolling, you're a potential victim of a corrupt Contacts record.
Finding the record may be tedious, however. If the phone is hanging when certain individuals call, that's easy -- just delete and re-create those specific Contacts records. But if all you have is slow Contacts launch and jerky scrolling, you'll probably have to tap on each of your records, and make certain they open quickly. (There was zero indication of any record corruption in the Mac's Address Book application.)

