Wayfarer Android app crashes on startup

Include the following details while filing a bug report (edit as applicable):

  • Issue category: Developer Tools
  • Device type & OS version: Android 13, Google Pixel 6 Pro
  • Issue Environment : On Device
  • Location: Kyoto, Japan

Bug reproduction steps:
Install Wayfarer app from Google Play
Open app
Displays the splash screen
Crashes

I did not get any permissions popups, but I did try manually granting them before opening the app again, with the same result. Only Location and Camera permissions were asked for - it looks like there is a security exception related to TelephonyPermissions?

Stacktrace from adb:

2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception java.lang.SecurityException: listen
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at java.lang.Exception android.os.Parcel.createExceptionOrNull(int, java.lang.String) (Parcel.java:3011)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at java.lang.Exception android.os.Parcel.createException(int, java.lang.String) (Parcel.java:2995)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void android.os.Parcel.readException(int, java.lang.String) (Parcel.java:2978)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void android.os.Parcel.readException() (Parcel.java:2920)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy.listenWithEventList(boolean, boolean, int, java.lang.String, java.lang.String, com.android.internal.telephony.IPhoneStateListener, int[], boolean) (ITelephonyRegistry.java:1058)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void android.telephony.TelephonyRegistryManager.listenFromListener(int, boolean, boolean, java.lang.String, java.lang.String, android.telephony.PhoneStateListener, int, boolean) (TelephonyRegistryManager.java:265)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void android.telephony.TelephonyManager.listen(android.telephony.PhoneStateListener, int) (TelephonyManager.java:6389)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void com.unity3d.player.UnityPlayer.addPhoneCallListener() ((null):-1)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at boolean com.unity3d.player.UnityPlayer.access$300(com.unity3d.player.UnityPlayer) ((null):-1)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at boolean com.unity3d.player.UnityPlayer$e$1.handleMessage(android.os.Message) ((null):-1)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at boolean android.os.Looper.loopOnce(android.os.Looper, long, int) (Looper.java:201)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void android.os.Looper.loop() (Looper.java:288)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]   at void com.unity3d.player.UnityPlayer$e.run() ((null):-1)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] Caused by: android.os.RemoteException: Remote stack trace:
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 	at com.android.internal.telephony.TelephonyPermissions.enforceCarrierPrivilege(TelephonyPermissions.java:676)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 	at com.android.internal.telephony.TelephonyPermissions.checkReadPhoneState(TelephonyPermissions.java:169)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 	at com.android.internal.telephony.TelephonyPermissions.checkCallingOrSelfReadPhoneState(TelephonyPermissions.java:94)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 	at com.android.server.TelephonyRegistry.checkListenerPermission(TelephonyRegistry.java:3369)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 	at com.android.server.TelephonyRegistry.listen(TelephonyRegistry.java:1066)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] (Throwable with no stack trace)
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594] 
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]     in call to CallVoidMethodV
2023/02/09 15:40:45.530 13068 13135 Fatal argeo.niamapapp java_vm_ext.cc:594]     from boolean com.unity3d.player.UnityPlayer.nativeRender()

It seems to be now working. Sorry for the trouble.

Hi Owen,

Thank you for the update, I’m glad it’s working for you now. We will look into this a bit more but it’s likely it was a one off error, our Android devices all worked with Wayfarer.