[Samsung Galaxy Nexus] PhoneGeek:
I have a problem with updating to 4.3 from 4.2.2 on my Galaxy Nexus LTE Verizon/toro

I have now tried 4 ROMs and I get an exception on boot. The problem seems to be that READ_WRITE_ALL_VOICEMAIL is only supposed to be granted for system apps, and at first boot, the dialer app is suspect and somehow isn't allowed this permission. Dialer is crappy software and will therefore not be able to start at all. This pretty much prevents any phone functions.

UI shows popup: Unfortunately, Dialer has stopped.

I have upgraded many other devices to 4.3, and this one all the way up to 4.2.2.

Do we have any helpful suggestions from the public?

During first boot I did adb logcat:

a message during first boot that is likely trouble is:

W/PackageManager( 394): Not granting permission com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL to package com.android.dialer (protectionLevel=2 flags=0xc8be45)

and the exception when Dialer is launched (as on boot):

E/DatabaseUtils( 890): java.lang.SecurityException: The caller must have permissions com.android.voicemail.permission.ADD_VOICEMAIL AND com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL

E/DatabaseUtils( 890):	at com.android.providers.contacts.VoicemailPermissions.checkCallerHasFullAccess(VoicemailPermissions.java:64)

E/DatabaseUtils( 890):	at com.android.providers.contacts.CallLogProvider.checkVoicemailPermissionAndAddRestriction(CallLogProvider.java:323)

E/DatabaseUtils( 890):	at com.android.providers.contacts.CallLogProvider.query(CallLogProvider.java:134)

E/DatabaseUtils( 890):	at android.content.ContentProvider.query(ContentProvider.java:744)

E/DatabaseUtils( 890):	at android.content.ContentProvider$Transport.query(ContentProvider.java:199)

E/DatabaseUtils( 890):	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:114)

E/DatabaseUtils( 890):	at android.os.Binder.execTransact(Binder.java:388)

E/DatabaseUtils( 890):	at dalvik.system.NativeStart.run(Native Method)

I/dalvikvm( 1683): Turning on JNI app bug workarounds for target SDK version 10...

W/dalvikvm( 1667): threadid=11: thread exiting with uncaught exception (group=0x417c3700)

E/AndroidRuntime( 1667): FATAL EXCEPTION: IntentService[CallLogNotificationsService]

E/AndroidRuntime( 1667): java.lang.SecurityException: The caller must have permissions com.android.voicemail.permission.ADD_VOICEMAIL AND com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL

E/AndroidRuntime( 1667):	at android.os.Parcel.readException(Parcel.java:1431)

E/AndroidRuntime( 1667):	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)

E/AndroidRuntime( 1667):	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)

E/AndroidRuntime( 1667):	at android.content.ContentProviderProxy.query(ContentProviderNative.java:385)

E/AndroidRuntime( 1667):	at android.content.ContentResolver.query(ContentResolver.java:414)

E/AndroidRuntime( 1667):	at android.content.ContentResolver.query(ContentResolver.java:357)

E/AndroidRuntime( 1667):	at com.android.dialer.calllog.DefaultVoicemailNotifier$DefaultNewCallsQuery.query(DefaultVoicemailNotifier.java:258)

E/AndroidRuntime( 1667):	at com.android.dialer.calllog.DefaultVoicemailNotifier.updateNotification(DefaultVoicemailNotifier.java:91)

E/AndroidRuntime( 1667):	at com.android.dialer.calllog.CallLogNotificationsService.onHandleIntent(CallLogNotificationsService.java:77)

E/AndroidRuntime( 1667):	at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)

E/AndroidRuntime( 1667):	at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 1667):	at android.os.Looper.loop(Looper.java:137)

E/AndroidRuntime( 1667):	at android.os.HandlerThread.run(HandlerThread.java:61)

---

Perhaps the problem is that READ_WRITE_ALL_VOICEMAIL is a system permission so Phone.apk needs to be signed with the same key as whatever defines that permission, and custom rom people don't do that properly?

Then a solution would be to patch Phone.apk so it doesn't crash so often?

as is described under signature: http://developer.android.com/guide/topics/manifest/permission-element.html