Skip to content

firebase_crashlytics || firebaseCrashlyticsPluginVersion : Fatal Exception: java.lang.OutOfMemoryError #18480

Description

@dilippatil91

Is there an existing issue for this?

  • I have searched the existing issues.

Which plugins are affected?

Crashlytics

Which platforms are affected?

Android

Description

Hello Team,

Issue Description

We are experiencing a significant increase in application crash events following the Firebase SDK upgrade in our EE Flutter-based application.

We engaged the Google Support team regarding this issue, and they recommended upgrading the Crashlytics Gradle Plugin. Their response is attached for reference.

According to Google, Crashlytics Gradle Plugin 3.0.7 includes fixes related to native symbol and build ID processing. As an initial troubleshooting step, they advised us to update the following:

Crashlytics Gradle Plugin: 3.0.3 → 3.0.7
Firebase Android BoM: Upgrade to the latest compatible version

Reference: https://firebase.google.com/support/release-notes/android#crashlytics_gradle_plugin_v3-0-7

Could you please review and advise whether we can proceed with these updates to validate if they address the increased crash occurrences?

### Describe your environment:
Flutter Firebase SDK Versions (core/dependencies/pubspec.yaml)

firebase_core: 4.9.0
firebase_crashlytics: 5.2.2

Android (versions.gradle)

firebaseBomVersion = "34.12.0"
firebaseCrashlyticsPluginVersion = “3.0.3"
Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 190158336 byte allocation with 3422925 free bytes and 124MB until OOM, target footprint 6845853, growth limit 134217728
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildIdFromZip(:94)
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildIdFromApk(:78)
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildId(:56)
       at io.flutter.plugins.firebase.crashlytics.FlutterFirebaseCrashlyticsPlugin.onAttachedToEngine(:67)
       at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.add(:147)
       at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(:99)
       at com.example.myee_app.MainActivity.configureFlutterEngine(:27)
       at io.flutter.embedding.android.FlutterFragment.configureFlutterEngine(:1553)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(:226)
       at io.flutter.embedding.android.FlutterFragment.onAttach(:1060)
       at androidx.fragment.app.Fragment.performAttach(:3075)
       at androidx.fragment.app.FragmentStateManager.attach(:510)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(:279)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(:2214)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(:2109)
       at androidx.fragment.app.FragmentManager.execPendingActions(:2052)
       at androidx.fragment.app.FragmentManager.dispatchStateChange(:3327)
       at androidx.fragment.app.FragmentManager.dispatchActivityCreated(:3237)
       at androidx.fragment.app.FragmentController.dispatchActivityCreated(:263)
       at androidx.fragment.app.FragmentActivity.onStart(:350)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1702)
       at android.app.Activity.performStart(Activity.java:9045)
       at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4074)
       at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
       at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
       at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2637)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loopOnce(Looper.java:232)
       at android.os.Looper.loop(Looper.java:317)
       at android.app.ActivityThread.main(ActivityThread.java:8751)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:892)

Image

Reproducing the issue

Please use above ENV configuration for your flutter based application.

Logs:

Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 190158336 byte allocation with 3422925 free bytes and 124MB until OOM, target footprint 6845853, growth limit 134217728
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildIdFromZip(:94)
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildIdFromApk(:78)
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildId(:56)
       at io.flutter.plugins.firebase.crashlytics.FlutterFirebaseCrashlyticsPlugin.onAttachedToEngine(:67)
       at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.add(:147)
       at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(:99)
       at com.example.myee_app.MainActivity.configureFlutterEngine(:27)
       at io.flutter.embedding.android.FlutterFragment.configureFlutterEngine(:1553)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(:226)
       at io.flutter.embedding.android.FlutterFragment.onAttach(:1060)
       at androidx.fragment.app.Fragment.performAttach(:3075)
       at androidx.fragment.app.FragmentStateManager.attach(:510)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(:279)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(:2214)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(:2109)
       at androidx.fragment.app.FragmentManager.execPendingActions(:2052)
       at androidx.fragment.app.FragmentManager.dispatchStateChange(:3327)
       at androidx.fragment.app.FragmentManager.dispatchActivityCreated(:3237)
       at androidx.fragment.app.FragmentController.dispatchActivityCreated(:263)
       at androidx.fragment.app.FragmentActivity.onStart(:350)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1702)
       at android.app.Activity.performStart(Activity.java:9045)
       at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4074)
       at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
       at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
       at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2637)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loopOnce(Looper.java:232)
       at android.os.Looper.loop(Looper.java:317)
       at android.app.ActivityThread.main(ActivityThread.java:8751)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:892)

Firebase Core version

4.9.0

Flutter Version

3.38.6

Relevant Log Output

Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 190158336 byte allocation with 3422925 free bytes and 124MB until OOM, target footprint 6845853, growth limit 134217728
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildIdFromZip(:94)
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildIdFromApk(:78)
       at io.flutter.plugins.firebase.crashlytics.ElfBuildIdReader.readBuildId(:56)
       at io.flutter.plugins.firebase.crashlytics.FlutterFirebaseCrashlyticsPlugin.onAttachedToEngine(:67)
       at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.add(:147)
       at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(:99)
       at com.example.myee_app.MainActivity.configureFlutterEngine(:27)
       at io.flutter.embedding.android.FlutterFragment.configureFlutterEngine(:1553)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(:226)
       at io.flutter.embedding.android.FlutterFragment.onAttach(:1060)
       at androidx.fragment.app.Fragment.performAttach(:3075)
       at androidx.fragment.app.FragmentStateManager.attach(:510)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(:279)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(:2214)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(:2109)
       at androidx.fragment.app.FragmentManager.execPendingActions(:2052)
       at androidx.fragment.app.FragmentManager.dispatchStateChange(:3327)
       at androidx.fragment.app.FragmentManager.dispatchActivityCreated(:3237)
       at androidx.fragment.app.FragmentController.dispatchActivityCreated(:263)
       at androidx.fragment.app.FragmentActivity.onStart(:350)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1702)
       at android.app.Activity.performStart(Activity.java:9045)
       at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4074)
       at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
       at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
       at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2637)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loopOnce(Looper.java:232)
       at android.os.Looper.loop(Looper.java:317)
       at android.app.ActivityThread.main(ActivityThread.java:8751)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:892)

Flutter dependencies

Expand Flutter dependencies snippet
dependencies:
  firebase_core: 4.9.0
  firebase_crashlytics: 5.2.2
  firebase_analytics: 12.4.1
  firebase_performance: 0.11.4+1
  firebase_remote_config: 6.5.1
  firebase_app_installations: 0.4.2+2

dependency_overrides:
  firebase_messaging: 16.2.2
  firebase_core_platform_interface: 7.0.1

Additional context and comments

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions