Skip to content

debuggable: false causes native errors to not be reported on Android 10. #1678

Closed
@jlennox

Description

@jlennox

[READ] Step 1: Are you in the right place?

Issues filed here should be about bugs in the code in this repository.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: 3.6.2
  • Firebase Component: Crashlytics (Database, Firestore, Storage, Functions, etc)
  • Component version:
firebaseAnalyticsVersion = '17.4.2'
firebaseCrashlyticsGradlePluginVersion = '2.1.1'
firebaseCrashlyticsNdkVersion = '17.0.1'
firebaseCoreVersion = '17.4.3'
firebaseGradlePluginVersion = '1.1.5'
firebaseMessagingVersion = '20.2.0'
firebaseDynamicLinksKtxVersion = '19.1.0'
firebaseDynamicLinksVersion = '19.1.0'
firebasePerfsVersion = '19.0.7'

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

At Discord we're moving from the deprecated com.crashlytics.android.Crashlytics to the supported com.google.firebase.crashlytics.FirebaseCrashlytics ahead of the discontinuation later this year but have encountered an issue.

We're experiencing an issue where a native crash is not being reported if debuggable: false is set inside the build.gradle on Android 10. The application is restarted after each crash and FirebaseCrashlytics reports there's nothing pending to send.

Works: Java crash, all.
Works: Native crash, Nexus 5, Android 6, debuggable: false
Works: Native crash, Pixel 2, Android 10, debuggable: true
Does not work: Native crash, Pixel 2, Android 10, debuggable: false

abort() is called inside the native code to test the update and we've discovered the above to be true.

From my observation of the logs, it appears the sigaction handler is not being triggered.

Working Crashalytics, Android 10, debuggable: true logs: https://gist.github.com/jlennox/c0673424a515ccd3941a5ce87d0413b7
Non-working Crashalytics, Android 10, debuggable: false logs: https://gist.github.com/jlennox/229129a29934d7fecc0da7343ad87e08

Relevant Code:

N/A

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions