[One (M8) Q&A, Help & Troubleshooting] kbitz:
Ok, here's what I've found so far by messing around with logcat. See if you get something similar. (You can use logcat via adb or a shell. I like to pipe the output to a file so I can search the file.)

First time I get a sms from a number I get something along these lines:

01-03 15:41:37.893 17390 17400 E DatabaseUtils: Writing exception to parcel
01-03 15:41:37.893 17390 17400 E DatabaseUtils: java.lang.IllegalArgumentException: Invalid column vip
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:632)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:447)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:393)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at com.android.providers.contacts.ContactsProvider2.doQuery(ContactsProvider2.java:6528)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6235)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:5038)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at android.content.ContentProvider$Transport.query(ContentProvider.java:243)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
01-03 15:41:37.893 17390 17400 E DatabaseUtils: at android.os.Binder.execTransact(Binder.java:461)
01-03 15:41:37.899 12184 18362 I Babel : Perform warm sync based on ClientSyncHint from the server for account Redacted-18
01-03 15:41:37.902 1288 2060 V ActivityManager: startService: Intent { act=com.google.android.gms.clearcut.service.INTENT pkg=com.google.android.gms } type=null args=null pid=2305
01-03 15:41:37.903 12184 18362 D SqDb : +ts null:true
01-03 15:41:37.903 2305 2305 V Perf : com.google.android.gms.clearcut.service.ClearcutLoggerIntentService@8f228af onStartCommand:act=com.google.android.gms.clearcut.service.INTENT pkg=com.google.android.gms, 0ms
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: Problem getting content resolver or performing contacts query.
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: java.lang.IllegalArgumentException: Invalid column vip
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.content.ContentProviderProxy.query(ContentProviderNative.java:421)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.content.ContentResolver.query(ContentResolver.java:504)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.content.ContentResolver.query(ContentResolver.java:447)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.ValidateNotificationPeople.searchContacts(ValidateNotificationPeople.java:369)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.ValidateNotificationPeople.resolvePhoneContact(ValidateNotificationPeople.java:355)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.ValidateNotificationPeople.access$600(ValidateNotificationPeople.java:51)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.ValidateNotificationPeople$PeopleRankingReconsideration.work(ValidateNotificationPeople.java:485)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.RankingReconsideration.run(RankingReconsideration.java:55)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.NotificationManagerService.handleRankingReconsideration(NotificationManagerService.java:2718)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.NotificationManagerService.access$6100(NotificationManagerService.java:152)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at com.android.server.notification.NotificationManagerService$RankingWorkerHandler.handleMessage(NotificationManagerService.java:2852)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.os.Handler.dispatchMessage(Handler.java:102)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.os.Looper.loop(Looper.java:168)
01-03 15:41:37.904 1288 1466 W ValidateNoPeople: at android.os.HandlerThread.run(HandlerThread.java:61)
01-03 15:41:37.904 1288 1466 D ValidateNoPeople: lookup contactAffinity is 0.0
01-03 15:41:37.904 1288 1466 D ValidateNoPeople: Validation finished in 120ms

contactAffinity 0.0 is for contacts not in your address book at all per this.

Once a contact has been looked up and that failure above happens, it just pulls out of cache:

01-03 15:46:55.393 1288 1288 D ValidateNoPeople: using cached lookupResult
01-03 15:46:55.393 1288 1288 D ValidateNoPeople: setFinalContact(0.0,false)
01-03 15:46:55.393 1288 1288 D ValidateNoPeople: setContact(com.google.android.talk,0.0,false)

But the cache has 0.0 instead of 1.0 (what it should be for a starred contact) or 0.5 (what it should be for a contact in your address book) because of the exception the first time.

It looks like it's looking at the contacts and anticipating the existence of a column named 'vip' and not finding it. A quick google hasn't turned anything up on this particular exception, but I'm wondering if it's a mismatch between the sqlite dbs of two different versions the contacts app. I'm going to fiddle with it some more in hopes of figuring it out. See if your error is the same as mine in the meanwhile.