quickstart-unity: [Bug] Native crash in libFirebaseCppApp

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2020.3.21f1
  • Firebase Unity SDK version: 8.5.0
  • Source you installed the SDK: .unitypackage
  • Problematic Firebase Component: libFirebaseCppApp
  • Other Firebase Components in use: Analytics, Firestore, Messaging
  • Additional SDKs you are using: IronSource, PlayFab, Photon, Facebook, AppsFlyer, GooglePlayPlugins, GoogleSignIn, AppleSignIn
  • Platform you are using the Unity editor on: Mac
  • Platform you are targeting: Android, iOS
  • Scripting Runtime: IL2CPP

[REQUIRED] Please describe the issue here:

Our Unity console is full of these crashes. However it doesn’t happen on my end, so I wasn’t able to reproduce this issue yet.

Native StackTrace:

Thread 0 (crashed)
0   libc.so                            0x0000007bd196b0f8 <symbols missing for uuid: e885d38d9727779a38ff50505627faac> 
1   libFirebaseCppApp-8_5_0.so         0x00000079663b9c24 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
2   libFirebaseCppApp-8_5_0.so         0x00000079663bf4e8 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
3   libFirebaseCppApp-8_5_0.so         0x00000079663bf49c <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
4   libFirebaseCppApp-8_5_0.so         0x000000796642d100 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
5   libFirebaseCppApp-8_5_0.so         0x00000079664434c8 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
6   libart.so                          0x0000007b4cf42350 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
7   libart.so                          0x0000007b4cf39334 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
8   libart.so                          0x0000007b4cf480ac <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
9   libart.so                          0x0000007b4d0e5678 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
10  libart.so                          0x0000007b4d0e1770 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
11  libart.so                          0x0000007b4d3a9290 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
12  libart.so                          0x0000007b4cf33c14 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
13  libart.so                          0x0000007b4d3a41f0 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
14  libart.so                          0x0000007b4cf33814 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
15  libart.so                          0x0000007b4d0b5fa8 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
16  libart.so                          0x0000007b4d395378 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
17  libart.so                          0x0000007b4cf42468 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
18  libart.so                          0x0000007b4cf39334 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
19  libart.so                          0x0000007b4cf480ac <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
20  libart.so                          0x0000007b4d2b4430 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
21  libart.so                          0x0000007b4d2b57a0 <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
22  libart.so                          0x0000007b4d19affc <symbols missing for uuid: 222a416b24ff8da5f3346cc682a2c2fb> 
23  libFirebaseCppApp-8_5_0.so         0x00000079663beb58 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
24  libFirebaseCppApp-8_5_0.so         0x000000796644162c <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
25  libFirebaseCppApp-8_5_0.so         0x00000079664412b4 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
26  libFirebaseCppApp-8_5_0.so         0x000000796647aaf8 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
27  libFirebaseCppApp-8_5_0.so         0x00000079663badd0 <symbols missing for uuid: 75c537d8a20bc56fceb35ccb80f6344f> 
28  libil2cpp.so                       0x0000007ac4301b08 AppUtilPINVOKE_FirebaseApp_ReleaseReferenceInternal_m83E641C7626685F4E5018D332B214A4497F4437C (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:6916)
29  libil2cpp.so                       0x0000007ac4303e94 FirebaseApp_ReleaseReferenceInternal_m251EC6B33F516335E844BC8CBC7531205D41C934 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:10169)
30  libil2cpp.so                       0x0000007ac43027b4 FirebaseApp_RemoveReference_mF1E15EE01A41D7674FAFDAB777CF637071F907E0 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:8150)
31  libil2cpp.so                       0x0000007ac4305ad8 FirebaseApp_CheckDependenciesInternal_m3C1FA1603F994655D1C49443FFF8053420F98509 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:9776)
32  libil2cpp.so                       0x0000007ac4309790 U3CCheckDependenciesU3Ec__AnonStorey2_U3CU3Em__0_mECC3E61E5A6E1E53D59A57324902DABE019526D2 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:13554)
33  libil2cpp.so                       0x0000007ac3c98e50 Action_Invoke_m3FFA5BE3D64F0FF8E1E1CB6F953913FADB5EB89E (/Applications/Unity/Hub/Editor/2020.3.21f1/Unity.app/Contents/il2cpp/libil2cpp/vm/ClassInlines.h:0)
34  libil2cpp.so                       0x0000007ac43028e4 FirebaseApp_TranslateDllNotFoundException_m7AA751F31022C03AA209E73B99646C4D0A17A90D (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:7669)
35  libil2cpp.so                       0x0000007ac4305a00 FirebaseApp_CheckDependencies_mCD719D29867B855EBA5F74102286BB9A44FCB946 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:9656)
36  libil2cpp.so                       0x0000007ac430615c FirebaseApp_U3CCheckDependenciesAsyncU3Em__2_m7418E08620989B76203932B94ED9C94E3C928ACF (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Firebase.App.cpp:10336)
37  libil2cpp.so                       0x0000007ac40172e8 Func_1_Invoke_mE30C1A875EF0B23CF6994EB0F0010292C886106D_gshared (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Generics12.cpp:31406)
38  libil2cpp.so                       0x0000007ac3f86abc Task_1_InnerInvoke_mB52092E4E9AC61B6E83BCD7AAA6B804D9A4AC66D_gshared (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Generics24.cpp:16892)
39  libil2cpp.so                       0x0000007ac3deb33c Task_Execute_m35673A0487248C5577449A4A3FBDF7FD3B6BA086 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/mscorlib17.cpp:65)
40  libil2cpp.so                       0x0000007ac3940f18 ContextCallback_Invoke_mF4F8496213E8F0925947DD8994A477AE2E54EFDF (/Applications/Unity/Hub/Editor/2020.3.21f1/Unity.app/Contents/il2cpp/libil2cpp/vm/ClassInlines.h:0)
41  libil2cpp.so                       0x0000007ac3b6f268 ExecutionContext_RunInternal_mC5D58D6EDE270B4CDA05181E9064E040D6692B2B (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/mscorlib7.cpp:27806)
42  libil2cpp.so                       0x0000007ac3deba24 Task_ExecuteWithThreadLocal_m25476BDF5AAFF102A95E92CB1E0989DFF72408A8 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/mscorlib17.cpp:28637)
43  libil2cpp.so                       0x0000007ac3deb83c Task_ExecuteEntry_m55634616576BB085EF3CEDB04801C4183FE1B053 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/mscorlib17.cpp:28501)
44  libil2cpp.so                       0x0000007ac3cc9580 ThreadPoolWorkQueue_Dispatch_mCC5743D99870EC7844CAB3FF3FA7D23A44A4A984 (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/mscorlib18.cpp:110)
45  libil2cpp.so                       0x0000007ac34ecda8 RuntimeInvoker_FalseSByte_t928712DD662DC29BA4FAAE8CE2230AFB23447F0B(void (*)(), MethodInfo const*, void*, void**) (/Users/username/Documents/gamename/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput/Il2CppInvokerTable.cpp:70158)
46  libil2cpp.so                       0x0000007ac3608a20 worker_thread(void*) (/Applications/Unity/Hub/Editor/2020.3.21f1/Unity.app/Contents/il2cpp/libil2cpp/mono/ThreadPool/ThreadPoolWorkerThread.cpp:250)
47  libil2cpp.so                       0x0000007ac35d2298 il2cpp::vm::ThreadStart(void*) (/Applications/Unity/Hub/Editor/2020.3.21f1/Unity.app/Contents/il2cpp/libil2cpp/vm/Thread.cpp:708)
48  libil2cpp.so                       0x0000007ac359e550 il2cpp::os::Thread::RunWrapper(void*) (/Applications/Unity/Hub/Editor/2020.3.21f1/Unity.app/Contents/il2cpp/libil2cpp/os/Thread.cpp:183)
49  libil2cpp.so                       0x0000007ac359ced4 il2cpp::os::ThreadImpl::ThreadStartWrapper(void*) (/Applications/Unity/Hub/Editor/2020.3.21f1/Unity.app/Contents/il2cpp/libil2cpp/os/Posix/ThreadImpl.cpp:125)
50  libc.so                            0x0000007bd196a614 <symbols missing for uuid: e885d38d9727779a38ff50505627faac> 
51  libc.so                            0x0000007bd190be98 <symbols missing for uuid: e885d38d9727779a38ff50505627faac> 

Here is my Firebase code:

public void Awake()
{  
#if UNITY_ANDROID
    FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
    {
        if (task.Result == DependencyStatus.Available)
            FirebaseInitialized();
    });
#else
    FirebaseInitialized();
#endif
}

private void FirebaseInitialized()
{
    SetupFirestore();
    SetupMessaging();
}        

private void SetupFirestore() 
{
    FirebaseFirestore db = FirebaseFirestore.DefaultInstance;
    db.Collection("matches").WhereEqualTo("player_id", Login.Self.PlayerID).Listen(LoadMatch);
}

private void SetupMessaging() 
{
    FirebaseMessaging.GetTokenAsync().ContinueWith(token => Register(token.Result));
}

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 29 (2 by maintainers)

Most upvoted comments

I have updated all firebase pacakges in my project 8.6.1 and I can confirm that I’m still seeing this crash. It doesn’t happen 100% of the time, but >50% of the time on my test device (Samsung A10). The errors I’m seeing are coming from the device itself via ADB, and unfortunately the stack trace stops about where @kolobokspb’s does.

Yes it’s solved.

Okay, I can confirm that I can repro in a blank Unity project. Here are the steps for minimal repro @paulinon:

  1. Create a new blank project in Unity (I chose 2D template). I used Unity 2021.2, but other versions may be affected.
  2. Import GoogleMobileAds-v6.1.2.unitypackage (latest stable at time of writing)
  3. Import latest stable FirebaseAnalytics.unitypackage. Presumably any Firebase package would work; we just need the core library after all.
  4. Create this script (below) and add it to the scene
  5. Supply an AdMob app ID in the admob config ScriptableObject. Any string should work.
  6. Switch build target to Android and build & run to device
  7. It should crash
using Firebase;
using Firebase.Extensions;
using GoogleMobileAds.Api;
using GoogleMobileAds.Common;
using UnityEngine;

public class ReproductionTest : MonoBehaviour
{
    private void Start()
    {
        MobileAds.Initialize(_ => MobileAdsEventExecutor.ExecuteInUpdate(() => Debug.Log("admob done")));
        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(_ => Debug.Log("firebase done"));
    }
}

I haven’t attempted a workaround (I should sleep) but I wonder if forcing these libraries to initialize in serial (one to wait for the other before loading) would work.