firebase / firebase-unity-sdk

The Firebase SDK for Unity
http://firebase.google.com
Apache License 2.0
201 stars 34 forks source link

[Bug] Unsymbolicated split_config callstack with 9.2.0 #435

Closed cathrynmataga closed 1 year ago

cathrynmataga commented 1 year ago

[REQUIRED] Please fill in the following fields:

[REQUIRED] Please describe the issue here:

I have a crash "Fatal Exception: java.lang.Error" on Android with callstacks with split_config that have no symbols. I

I'm trying to understand where split_config comes from and is it possible to get symbols for split_config

Screen Shot 2022-08-03 at 1 34 42 PM

This bug seems to happen before Unity is actually initialized at all, how it looks. That I see no Unity Metadata for this bug only, but other issues have correct Unity Metadata.

Screen Shot 2022-08-03 at 12 45 01 PM Screen Shot 2022-08-03 at 12 45 12 PM

I do see other native call stacks on Android, and I'm on 9.2.0 and my symbols.zip upload went fine. This is an So I think Crashlytics is generally working for native symbols otherwise.

Steps to reproduce:

Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)? This is a issue from the wild, and we don't have a repro this locally. This issue is Android 11 and Android 12 only.

What happened? How can we make the problem occur? Issue happens at launch of the game.

Relevant Code:

cathrynmataga commented 1 year ago

What's weird, is I don't think split_config is our code or Unity's either.

cathrynmataga commented 1 year ago

Oh dear. This is not encouraging. I have exactly this issue here.

https://issuetracker.google.com/issues/236621930

paulinon commented 1 year ago

Hi @cathrynmataga,

This is possibly due to a particular property whose default value changed regarding the Android Gradle plugin. Could you confirm if the issue persists using the latest SDK version (9.3.0)? If it does, I'd like you to try enabling Custom Main Manifest in your Android Publishing settings, and adding this line in the generated manifest file:

<application>
    android:extractNativeLibs="true"
    ...
</application>

This could increase the size of your build, so you may want to test this change before including it in a public release. I look forward to your results.

cathrynmataga commented 1 year ago

Thanks for the reply. Yeah, I think our data bundles are quite a bit bigger than our code bundles anyway, so if extractNativeLibs="true" only affects code, we could take this.

paulinon commented 1 year ago

Glad to hear this, @cathrynmataga. I'll be closing this issue for now. Let me know if an issue arises

rkfteam commented 1 year ago

@cathrynmataga Did setting extractNativeLibs = true help you? No more crashes?