[Verizon Samsung Galaxy S III] Roger W:
Edit: fixed itself. see bottom.

I've added my Exchange account to the 12/20 build which is my first try at CM13 (stock email app, not gmail). Email and calendar sync, but contacts causes a FC loop. Log shows this:

12-20 18:17:16.502 E/ActivityThread(1382): Failed to find provider info for com.android.contacts.metadata
12-20 18:17:17.726 E/AndroidRuntime(13668): FATAL EXCEPTION: SyncAdapterThread-1
12-20 18:17:17.726 E/AndroidRuntime(13668): Process: com.android.exchange, PID: 13668
12-20 18:17:17.726 E/AndroidRuntime(13668): android.database.sqlite.SQLiteException: attempt to write a readonly database (code 1032)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:179)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at android.database.DatabaseUtils.readExceptionWithOperationApplicationExceptionFromParcel(DatabaseUtils.java:158)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:520)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:419)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at android.content.ContentResolver.applyBatch(ContentResolver.java:1275)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.adapter.ContactsSyncParser$ContactOperations.execute(ContactsSyncParser.java:845)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.adapter.ContactsSyncParser.commit(ContactsSyncParser.java:528)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.adapter.AbstractSyncParser.parse(AbstractSyncParser.java:220)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.eas.EasSyncBase.handleResponse(EasSyncBase.java:109)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.eas.EasOperation.performOperationInternal(EasOperation.java:325)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.eas.EasOperation.performOperation(EasOperation.java:264)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.eas.EasSyncBase.performOperation(EasSyncBase.java:125)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.eas.EasFullSyncOperation.syncMailbox(EasFullSyncOperation.java:263)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.eas.EasFullSyncOperation.performOperation(EasFullSyncOperation.java:175)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.service.EasService.doOperation(EasService.java:419)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.service.EasService$1.sync(EasService.java:134)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at com.android.exchange.service.ContactsSyncAdapterService$SyncAdapterImpl.onPerformSync(ContactsSyncAdapterService.java:134)
12-20 18:17:17.726 E/AndroidRuntime(13668):	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:272)

Any thoughts on a workaround? This is a clean install but I tried wiping data from Contacts anyway, no luck.

FWIW, I have another CM13 device (otterx) with a build from the 8th and identical gapps pico, and the same process works fine there. So it doesn't seem to be anything impossible/broken about my method in general, just something about this build config/device.

edit: well, now it's working. No idea what's different. Maybe one last reboot did the trick.