Android VoIP: crashed

I set up a Voice over IP telephony account on my Android phone running Cyanogenmod 13, and later in the day I rebooted.

I was greeted with a popup " has crashed". It had a "more details" option which showed the exception's back trace:

java.lang.IllegalArgumentException: Invalid long: "123@"
  at android.os.Parcel.readException(
  at android.os.Parcel.readException(
  at android.telecom.TelecomManager.getUserSelectedOutgoingPhoneAccount(
  at android.telephony.SubscriptionManager$OnSubscriptionsChangedListener$1.handleMessage(
  at android.os.Handler.dispatchMessage(
  at android.os.Looper.loop(
  at java.lang.reflect.Method.invoke(Native Method)

When confirming the crash notification popup with "OK", the phone app got restarted and .. showed the popup again. I had about 0.5s to do something until the popup showed and blocked the complete user interface.

Adjusting the VoIP settings in Phone -> -> Settings -> Calling accounts -> SIP accounts was not possible because this crashed, too.

I had to find the location of the file in which the settings were stored and get rid of them manually. With adb, find and grep I finally found that the VoIP accounts are stored in data/data/

While the crash popup was open, I removed the file with rm and then held down the power button until the phone rebooted. The error was gone - as were the VoIP account settings.

Clicking "OK" after removing the file restores the phone-account-registrar-state.xml state, so hard rebooting after file removal is a must.

Written by Christian Weiske.

Comments? Please send an e-mail.