Fatal Exception: java.lang.Error. Google won't feature us if this is not resolved :(

Unity version: 2019.4.16f1
SDKS in project: Google SDK, Firebase SDK, Google Play Services sdk
Scripting Backend: IL2CPP
Target Architecture : ARMv7 (checked) ARM64 (checked)

I am receiving the same error issue "Fatal Exception: java.lang.Error" in my firebase crash crashlytics which is causing my crash free rate to drop below 99% which is very frustrating. I am trying to figure out what the cause is as it’s only affected so far 69 users out of potentially 9,000 users, so it’s a very niche issue and looks like its primarily on low end devices but google was considering featuring us however our crash rate needs to remain above 99% for that to go ahead. The crash rate is steadily increasing with the number of users increasing.



Seems to happen for users when loading application:

Heres one of the errors:
Fatal Exception: java.lang.Error
FATAL EXCEPTION [UnityMain] Unity version : 2019.4.16f1 Device model : samsung SM-A217M Device fingerprint: samsung/a21sub/a21s:10/QP1A.190711.020/A217MUBU3ATI1:user/release-keys
Caused by java.lang.Error
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Version ‘2019.4.16f1 (e05b6e02d63e)’, Build type ‘Release’, Scripting Backend ‘il2cpp’, CPU ‘arm64-v8a’ Build fingerprint: ‘samsung/a21sub/a21s:10/QP1A.190711.020/A217MUBU3ATI1:user/release-keys’ Revision: ‘6’ ABI: ‘arm64’ Timestamp: 2021-03-23 21:04:57-0500 pid: 10134, tid: 10134, name: a.xxx >>> xxx <<< uid: 10259 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 Cause: null pointer dereference x0 0000000000000000 x1 00000070f470a1ec x2 7265646f63654400 x3 726f7463656c6553 x4 0000000000000000 x5 0000000000000000 x6 716e7362646b6452 x7 7f7f7f7f7f7f7f7f x8 0101010101010101 x9 00000070f4467000 x10 0000006000027458 x11 00000070f470a488 x12 00000000ffffffff x13 0000000000000000 x14 4b3d092f234ec266 x15 cae6c696f68e9634 x16 00000070f87b00f0 x17 00000071d83d4960 x18 00000070f422c000 x19 0000000000000003 x20 0000000000000000 x21 000000600001fcc0 x22 0000007fc9e72208 x23 0000006000027458 x24 0000006000027468 x25 0000000000000000 x26 0000007fc9e724a0 x27 0000000000000000 x28 00000060000b80d0 x29 0000007fc9e72160 sp 0000007fc9e72130 lr 00000070f773b9dc pc 00000070f773b9dc backtrace: #00 pc 00000000034529dc [anon:libwebview reservation]

I have searched and seen many users on unity had this issue but didn’t find a resolution. One resolution for someone was to do the following:
PlayerSettings > Configuration > Scripting Backend: IL2CPP PlayerSettings > Configuration > Target Architecture : ARMv7 (unchecked) ARM64 (checked)
As seen in this thread
Native method not found: com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator:()V page-2

However, if I did that would it mean eliminating a large amount of my user base?

I also read this could be a solution?
ABI Stripping
Some AAR files contain native libraries (.so files) for each ABI supported by Android. Unfortunately, when targeting a single ABI (e.g x86), Unity does not strip native libraries for unused ABIs. To strip unused ABIs, the Android Resolver plugin explodes an AAR into a folder and removes unused ABIs to reduce the built APK size. Furthermore, if native libraries are not stripped from an APK (e.g you have a mix of Unity’s x86 library and some armeabi-v7a libraries) Android may attempt to load the wrong library for the current runtime ABI completely breaking your plugin when targeting some architectures.
AAR explosion and therefore ABI stripping can be disabled via the Assets > Play Services Resolver > Android Resolver > Settings menu. You may want to disable explosion of AARs if you’re exporting a project to be built with Gradle / Android Studio.

I would appreciate any help and hopefully in future if anyone else is experience a similar issue this thread can help them out…

I see your crash is webview related, which is exactly what Google broke yesterday for the entire world.

Google broke the internet… news at ten.

1 Like