firebase / quickstart-unity

Firebase Quickstart Samples for Unity
https://firebase.google.com/games
Apache License 2.0
832 stars 428 forks source link

[Bug] Remote Config for Android and iOS is broken in 7.0.0 #885

Closed npicouet closed 3 years ago

npicouet commented 3 years ago

[REQUIRED] Please fill in the following fields:

[REQUIRED] Please describe the issue here:

Updated to 7.0.0, app now hangs when loading on Android. Seems to occur when its trying to initialize Firebase. Works fine in Editor. Works fine on iOS.

Steps to reproduce:

What's the issue repro rate? 100%

Relevant Code:

Not sure if relevant, only thing I could find in logs. No changes were made to my code. Just updated to 7.0.0, and it broke.

12-02 16:31:03.131 20655 20716 W ConnectionTracker: Exception thrown while unbinding
12-02 16:31:03.131 20655 20716 W ConnectionTracker: java.lang.IllegalArgumentException: Service not registered: lv@e09a554
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1559)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at android.app.ContextImpl.unbindService(ContextImpl.java:1623)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at android.content.ContextWrapper.unbindService(ContextWrapper.java:697)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at ci.f(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):1)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at ci.d(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):2)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at lw.E(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):9)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at lg.a(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):3)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at eg.run(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):3)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
12-02 16:31:03.131 20655 20716 W ConnectionTracker:     at iz.run(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):5)
google-oss-bot commented 3 years ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

vimanyu commented 3 years ago

Hi @npicouet, Thanks for creating this issue. It will help if we could reproduce this locally. I tried the following and didn't notice the app hanging on my android device,

The app launched successfully and I could hit the "Sign in anonymously button" for my test. I tested this with both Mono and IL2CPP.

Could you try the same steps on your side and let me know if I missed anything?

vimanyu commented 3 years ago

I think I see it. If I setup the project with older version of Firebase plugins and update to 7.0.0, the app hangs. Where did you find these logs though? I tried 'adb logcat' but didnt see anything useful.

EDIT: Retried on a new Unity project and the app works fine now. Steps

npicouet commented 3 years ago

I think I see it. If I setup the project with older version of Firebase plugins and update to 7.0.0, the app hangs. Where did you find these logs though? I tried 'adb logcat' but didnt see anything useful.

I just used adb logcat. Again I'm not sure if those logs were related, but it was the only error I was getting with the app hanging. Yes I upgraded from 6.16.1 when this started happening.

Sorry, I'm doing various tests on my end, but nothing conclusive yet.

npicouet commented 3 years ago

I will post the various errors I'm getting using adb logcat per my testing devices. I noticed a common error between my 2 test devices related to Remote Config. Doing further testing now.

LG ThinQ G7 (Android 8): 12-03 10:06:55.980 16794 16866 W System.err: java.lang.NoSuchMethodError: no non-static method "Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;.activateFetched()Z" 12-03 10:06:55.982 16794 16866 W System.err: at com.unity3d.player.UnityPlayer.nativeRender(Native Method) 12-03 10:06:55.982 16794 16866 W System.err: at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0) 12-03 10:06:55.982 16794 16866 W System.err: at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:83) 12-03 10:06:55.982 16794 16866 W System.err: at android.os.Handler.dispatchMessage(Handler.java:101) 12-03 10:06:55.982 16794 16866 W System.err: at android.os.Looper.loop(Looper.java:164) 12-03 10:06:55.982 16794 16866 W System.err: at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)

firebase: Unable to find Method com/google/firebase/remoteconfig/FirebaseRemoteConfig.activateFetched (signature '()Z', instance). Please verify the AAR which contains the com/google/firebase/remoteconfig/FirebaseRemoteConfig class is included in your app.

12-03 10:06:59.037 16794 16857 W ConnectionTracker: Exception thrown while unbinding 12-03 10:06:59.037 16794 16857 W ConnectionTracker: java.lang.IllegalArgumentException: Service not registered: lv@bac3ecb 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1559) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at android.app.ContextImpl.unbindService(ContextImpl.java:1623) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at android.content.ContextWrapper.unbindService(ContextWrapper.java:697) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at ci.f(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):1) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at ci.d(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):2) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at lw.E(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):9) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at lg.a(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):3) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at eg.run(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):3) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at java.util.concurrent.FutureTask.run(FutureTask.java:266) 12-03 10:06:59.037 16794 16857 W ConnectionTracker: at iz.run(:com.google.android.gms.dynamite_measurementdynamite@204516048@20.45.16 (040400-0):5)

Pixel 3 (Android 11): 12-03 11:00:47.955 30264 30334 W System.err: java.lang.NoSuchMethodError: no non-static method "Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;.activateFetched()Z" 12-03 11:00:47.955 30264 30334 W System.err: at com.unity3d.player.UnityPlayer.nativeRender(Native Method) 12-03 11:00:47.955 30264 30334 W System.err: at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0) 12-03 11:00:47.955 30264 30334 W System.err: at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:83) 12-03 11:00:47.955 30264 30334 W System.err: at android.os.Handler.dispatchMessage(Handler.java:102) 12-03 11:00:47.955 30264 30334 W System.err: at android.os.Looper.loop(Looper.java:223) 12-03 11:00:47.955 30264 30334 W System.err: at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)

firebase: Unable to find Method com/google/firebase/remoteconfig/FirebaseRemoteConfig.activateFetched (signature '()Z', instance). Please verify the AAR which contains the com/google/firebase/remoteconfig/FirebaseRemoteConfig class is included in your app.

12-03 11:00:45.840 1517 2526 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.curiousmedia.doodleparty/com.google.firebase.MessagingUnityPlayerActivity bnds=[841,264][1043,573]} from uid 10057 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: IntentStarted during UNKNOWN. Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.curiousmedia.doodleparty/com.google.firebase.MessagingUnityPlayerActivity bnds=[841,264][1043,573] } 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: java.lang.Throwable: EventSequenceValidator#getStackTrace 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.google.android.startop.iorap.EventSequenceValidator.logWarningWithStackTrace(EventSequenceValidator.java:260) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.google.android.startop.iorap.EventSequenceValidator.onIntentStarted(EventSequenceValidator.java:106) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.server.wm.LaunchObserverRegistryImpl.handleOnIntentStarted(LaunchObserverRegistryImpl.java:139) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.server.wm.LaunchObserverRegistryImpl.lambda$veRn_GhgLZLlOHOJ0ZYT6KcfYqo(Unknown Source:0) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.server.wm.-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo.accept(Unknown Source:10) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:292) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:201) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:97) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at android.os.Handler.handleCallback(Handler.java:938) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at android.os.Handler.dispatchMessage(Handler.java:99) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at android.os.Looper.loop(Looper.java:223) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at android.os.HandlerThread.run(HandlerThread.java:67) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: at com.android.server.ServiceThread.run(ServiceThread.java:44) 12-03 11:00:45.841 1517 1582 D EventSequenceValidator: inc AccIntentStartedEvents to 2 12-03 11:00:45.847 1088 1088 I perfetto: ing_service_impl.cc:758 Configured tracing session 215, #sources:1, duration:5000 ms, #buffers:1, total buffer size:4096 KB, total sessions:1, uid:1071 session name: "" 12-03 11:00:45.848 925 929 E statsd : Predicate 5980654721335871649 dropping data for dimension key (10)0x2010101->10406[I] (10)0x30000->*launch*[S] 12-03 11:00:45.848 1087 1087 I perfetto: probes_producer.cc:230 Ftrace setup (target_buf=215) 12-03 11:00:45.854 1517 1582 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10406; state: DISABLED 12-03 11:00:45.854 1517 1600 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10406; state: DISABLED 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: onActivityLaunched during UNKNOWN. 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: java.lang.Throwable: EventSequenceValidator#getStackTrace 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.google.android.startop.iorap.EventSequenceValidator.logWarningWithStackTrace(EventSequenceValidator.java:260) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.google.android.startop.iorap.EventSequenceValidator.onActivityLaunched(EventSequenceValidator.java:149) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.server.wm.LaunchObserverRegistryImpl.handleOnActivityLaunched(LaunchObserverRegistryImpl.java:157) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.server.wm.LaunchObserverRegistryImpl.lambda$UGY1OclnLIQLMEL9B55qjERFf4o(Unknown Source:0) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.server.wm.-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o.accept(Unknown Source:10) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:292) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:201) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:97) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at android.os.Handler.handleCallback(Handler.java:938) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at android.os.Handler.dispatchMessage(Handler.java:99) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at android.os.Looper.loop(Looper.java:223) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at android.os.HandlerThread.run(HandlerThread.java:67) 12-03 11:00:45.855 1517 1582 D EventSequenceValidator: at com.android.server.ServiceThread.run(ServiceThread.java:44)

vimanyu commented 3 years ago

Thanks for digging further. The auth example that was hanging is working fine now after I retried the steps. I will try with RemoteConfig quickstart now. It would be really helpful if we could confirm this problem with steps to reproduce in any of the quickstarts.

npicouet commented 3 years ago

Thanks for digging further. The auth example that was hanging is working fine now after I retried the steps. I will try with RemoteConfig quickstart now. It would be really helpful if we could confirm this problem with steps to reproduce in any of the quickstarts.

Sorry, this is literally the last stopping point in our app, so I was just debugging our known changes.

Not sure if this helps either, but I just downgraded back to 6.16.1, and the app now doesn't hang, it just straight up crashes. Not sure what the heck is going on! It was working fine yesterday.

This is the log I get now in 6.16.1 after downgrading from 7.0.0:

12-03 11:34:33.089 6281 6358 E AndroidRuntime: FATAL EXCEPTION: UnityMain 12-03 11:34:33.089 6281 6358 E AndroidRuntime: Process: com.curiousmedia.doodleparty, PID: 6281 12-03 11:34:33.089 6281 6358 E AndroidRuntime: java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 12-03 11:34:33.089 6281 6358 E AndroidRuntime: Version '2019.4.16f1 (e05b6e02d63e)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a' 12-03 11:34:33.089 6281 6358 E AndroidRuntime: Build fingerprint: 'google/blueline/blueline:11/RP1A.201105.002/6869500:user/release-keys' 12-03 11:34:33.089 6281 6358 E AndroidRuntime: Revision: 'MP1.0' 12-03 11:34:33.089 6281 6358 E AndroidRuntime: ABI: 'arm64' 12-03 11:34:33.089 6281 6358 E AndroidRuntime: Timestamp: 2020-12-03 11:34:32-0600 12-03 11:34:33.089 6281 6358 E AndroidRuntime: pid: 6281, tid: 6358, name: UnityMain >>> com.curiousmedia.doodleparty <<< 12-03 11:34:33.089 6281 6358 E AndroidRuntime: uid: 10406 12-03 11:34:33.089 6281 6358 E AndroidRuntime: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x0 0000000000000000 x1 00000000000018d6 x2 0000000000000006 x3 000000717ae46720 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x4 fefefefefefefeff x5 fefefefefefefeff x6 fefefefefefefeff x7 7f7f7f7f7f7f7f7f 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x8 00000000000000f0 x9 4756ed3969df5716 x10 0000000000000000 x11 ffffffc0fffffbdf 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x12 0000000000000001 x13 00000000000000bf x14 ff00000000000000 x15 ffffffffffffffff 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x16 0000007495fc7c80 x17 0000007495fa93b0 x18 00000000eec0c74c x19 0000000000001889 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x20 00000000000018d6 x21 00000000ffffffff x22 000000000000000b x23 000000000000000b 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x24 0000007200e5de77 x25 0000000000000001 x26 0000007200e74d99 x27 0000007201479000 12-03 11:34:33.089 6281 6358 E AndroidRuntime: x28 00000072214b26c0 x29 000000717ae467a0 12-03 11:34:33.089 6281 6358 E AndroidRuntime: sp 000000717ae46700 lr 0000007495f5ce20 pc 0000007495f5ce4c 12-03 11:34:33.089 6281 6358 E AndroidRuntime: 12-03 11:34:33.089 6281 6358 E AndroidRuntime: backtrace: 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #00 pc 000000000004de4c /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 03452a4a418e14ff93948f26561eace6) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #01 pc 000000000055bc54 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+2308) (BuildId: 0252adff22f4c0297f97cb35735c7649) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #02 pc 0000000000013978 /system/lib64/libbase.so (BuildId: 7f81cc97d60164bfae3b52a2cd822f20) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #03 pc 0000000000012fa4 /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+320) (BuildId: 7f81cc97d60164bfae3b52a2cd822f20) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #04 pc 00000000003851a8 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+2572) (BuildId: 0252adff22f4c0297f97cb35735c7649) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #05 pc 000000000039f6ec /apex/com.android.art/lib64/libart.so (art::JNI<false>::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+1656) (BuildId: 0252adff22f4c0297f97cb35735c7649) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #06 pc 00000000001e2d68 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libFirebaseCppApp-6_16_1.so (_JNIEnv::CallObjectMethod(_jobject*, _jmethodID*, ...)+92) (BuildId: 53fcddeb61b159ccb0507acde42d344e) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #07 pc 000000000022302c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libFirebaseCppApp-6_16_1.so (firebase::firestore::FieldValueInternal::map_value() const+160) (BuildId: 53fcddeb61b159ccb0507acde42d344e) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #08 pc 0000000000220c08 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libFirebaseCppApp-6_16_1.so (firebase::firestore::DocumentSnapshotInternal::GetData(firebase::firestore::DocumentSnapshot::ServerTimestampBehavior) const+100) (BuildId: 53fcddeb61b159ccb0507acde42d344e) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #09 pc 0000000000211920 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libFirebaseCppApp-6_16_1.so (firebase::firestore::csharp::ConvertSnapshotToFieldValue(firebase::firestore::DocumentSnapshot const&, firebase::firestore::DocumentSnapshot::ServerTimestampBehavior)+24) (BuildId: 53fcddeb61b159ccb0507acde42d344e) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #10 pc 00000000002118e0 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libFirebaseCppApp-6_16_1.so (Firebase_Firestore_CSharp_ConvertSnapshotToFieldValue+44) (BuildId: 53fcddeb61b159ccb0507acde42d344e) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #11 pc 000000000080d558 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #12 pc 000000000080d47c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #13 pc 000000000077566c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #14 pc 0000000000679458 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #15 pc 000000000090e514 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #16 pc 0000000000806cec /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #17 pc 0000000000a8fcb8 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #18 pc 0000000000903f14 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #19 pc 0000000000726b7c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #20 pc 0000000000c1a5d4 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #21 pc 0000000000c1a530 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #22 pc 0000000000c1ba88 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #23 pc 0000000000455fa8 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #24 pc 00000000004e35f4 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libil2cpp.so (BuildId: a79230d21a8ab70f7fc951586c2d709b960241b5) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #25 pc 00000000003082a8 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #26 pc 0000000000314794 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #27 pc 000000000031d21c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #28 pc 00000000001f4084 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #29 pc 0000000000284168 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #30 pc 000000000028419c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #31 pc 00000000002843e0 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #32 pc 000000000037c794 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #33 pc 000000000038f784 /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/lib/arm64/libunity.so (BuildId: 65e9e48106283db7b6b9bbaf4668041d654855a8) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: #34 pc 000000000003421c /data/app/~~yTNcKZJdPxir_GCvPCBhng==/com.curiousmedia.doodleparty-XdE4jQV68I2G9CbLiL8YXg==/oat/arm64/base.odex 12-03 11:34:33.089 6281 6358 E AndroidRuntime: 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libc.abort(abort:164) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libart.art::Runtime::Abort(char const*)(Abort:2308) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libbase.0x13978(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libbase.android::base::LogMessage::~LogMessage()(~LogMessage:320) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libart.art::JavaVMExt::JniAbort(char const*, char const*)(JniAbort:2572) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libart.art::JNI<false>::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)(CallObjectMethodV:1656) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libFirebaseCppApp-6_16_1._JNIEnv::CallObjectMethod(_jobject*, _jmethodID*, ...)(CallObjectMethod:92) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libFirebaseCppApp-6_16_1.firebase::firestore::FieldValueInternal::map_value() const(map_value:160) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libFirebaseCppApp-6_16_1.firebase::firestore::DocumentSnapshotInternal::GetData(firebase::firestore::DocumentSnapshot::ServerTimestampBehavior) const(GetData:100) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libFirebaseCppApp-6_16_1.firebase::firestore::csharp::ConvertSnapshotToFieldValue(firebase::firestore::DocumentSnapshot const&, firebase::firestore::DocumentSnapshot::ServerTimestampBehavior)(ConvertSnapshotToFieldValue:24) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libFirebaseCppApp-6_16_1.Firebase_Firestore_CSharp_ConvertSnapshotToFieldValue(Firebase_Firestore_CSharp_ConvertSnapshotToFieldValue:44) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x80d558(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x80d47c(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x77566c(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x679458(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x90e514(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x806cec(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0xa8fcb8(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x903f14(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x726b7c(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0xc1a5d4(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0xc1a530(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0xc1ba88(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x455fa8(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libil2cpp.0x4e35f4(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x3082a8(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x314794(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x31d21c(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x1f4084(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x284168(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x28419c(Native Method) 12-03 11:34:33.089 6281 6358 E AndroidRuntime: at libunity.0x2843e0(Native Method)

npicouet commented 3 years ago

Oh, more info. Here is our proguard file:

-dontobfuscate -keepattributes Exceptions, Signature, InnerClasses

-keep class com.facebook.* { ; }

-keep class com.google.googlesignin.* { ; }

-keep class com.yasirkula.unity. { ; }

-keep,includedescriptorclasses public class com.google.firebase.dynamiclinks { ; }

-keep class com.google.firebase { *; } -keep class com.google.firebase.appinvite* { ; } -keep class com.google.firebase.dynamiclinks { *; } -keep class com.google.firebase.dynamiclinks.FirebaseDynamicLinks { *; } -keep class com.google.android.gms.internal* { ; } -keep class com.google.android.gms { *; }

chkuang-g commented 3 years ago

Hi @npicouet

Thanks for the log. I think the key here is this log

System.err: java.lang.NoSuchMethodError: no non-static method "Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;.activateFetched()Z"

TL;DR; After some research, I think your best bet now is to downgrade to 6.16.1 and wait for the next patch release. Make sure you downgrade ALL Firebase components, including Firebase App, through UPM.

activateFetched() has been recently removed from Android SDK and iOS SDK in favor of the async version activate. Seems like the async version is missing from both of our C++ and Unity SDK. In addition, FetchAndActivate() is missing as well.

Unfortunately, with 7.0.0, there is no way for you to activate the value you fetched from Remote Config backend. This seems to be a pretty serious issue. We'll contact the team to prepare patch release for this.

Shawn

k-turek commented 3 years ago

Unity library is just a "wrapper" for a native dependency. As @chkuang-g said, crash is caused by

System.err: java.lang.NoSuchMethodError: no non-static method "Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;.activateFetched()Z"

RemoteConfig 7.0.0 in Unity uses com.google.firebase:firebase-config:20.0.0 as a native dependency on Android. activeFetched was removed in 20.0.0 https://firebase.google.com/support/release-notes/android?hl=en#remote-config_v20-0-0

@npicouet Workaround for this is simple. Change a native dependency used by RemoteConfig.

Packages -> Firebase Remote Config -> Editor -> RemoteConfigDependencies.xml

and change <androidPackage spec="com.google.firebase:firebase-config:20.0.0"> to <androidPackage spec="com.google.firebase:firebase-config:19.2.0">

then in Unity

Assets -> External Dependency Manager -> Android Resolver -> Force Resolve

Now everything should work fine.

iOS build works for me.

paradizIscool commented 3 years ago

@npicouet regarding crash in 6.16.1 firebase::firestore::FieldValueInternal::map_value()

Firebase.Firestore.DocumentSnapshot.ToDictionary() documentation says: return A Dictionary{String, Object} containing the document data or null if this is a nonexistent document.

Reality says return A Dictionary{String, Object} containing the document data or CRASH if this is a nonexistent document.

Bug reported https://github.com/firebase/quickstart-unity/issues/887

hlongvu commented 3 years ago

Can anyone confirm this issue is fixed with release 7.0.1 yet?

chkuang-g commented 3 years ago

This should be fixed in 7.0.1.

If the issue persists, please open a new issue and reference this one.