Crash report can not be sent after update to 19.2.0
[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: Android Studio Ladybug | 2024.2.1
- Firebase Component: analytics, crashlytics, messaging
- Component version: 19.2.0
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
What happened? How can we make the problem occur?
We update crashlytics from 18.2.1 to 19.2.0. Together with
- firebase-crashlytics-gradle: from 2.9.2 to 3.0.2
- com.google.gms:google-services from 4.3.13 to 4.4.2
Then try to trigger a crash in the App. However I can't find the crash on firebase console. The logcat shows:
2024-10-03 11:01:27.582 24944-24944 FirebaseCrashlytics com.duolingo.devel I Initializing Firebase Crashlytics 19.2.0 for com.duolingo.devel
2024-10-03 11:01:42.680 24944-25001 FirebaseCrashlytics com.duolingo.devel I No version control information found
2024-10-03 11:02:55.430 24944-24944 FirebaseCrashlytics com.duolingo.devel E Cannot send reports. Timed out while fetching settings.
Relevant Code:
Tried to debug:
The cachedSettings can be loaded in loadSettingsData:
if (!buildInstanceIdentifierChanged()) {
final Settings cachedSettings = getCachedSettingsData(cacheBehavior);
if (cachedSettings != null) {
settings.set(cachedSettings);
settingsTask.get().trySetResult(cachedSettings);
return Tasks.forResult(null);
}
}
The cachedSetting is
cachedSettings = {Settings@28134}
cacheDuration = 180228
expiresAtMillis = 1728060117058
featureFlagData = {Settings$FeatureFlagData@28135}
collectAnrs = true
collectBuildIds = true
collectReports = true
onDemandBackoffBase = 1.2
onDemandBackoffStepDurationSeconds = 60
onDemandUploadRatePerMinute = 10.0
sessionData = {Settings$SessionData@28136}
maxCompleteSessionsCount = 4
maxCustomExceptionEvents = 8
settingsVersion = 3
However when the crash is triggered, the getSettingsAsync() is hit, but the code inside then function is always not hit.
return settingsProvider
.getSettingsAsync()
.onSuccessTask(
crashlyticsWorkers.common,
new SuccessContinuation<Settings, Void>() {
@NonNull
@Override
public Task<Void> then(@Nullable Settings settings) throws Exception {
if (settings == null) {
Logger.getLogger()
.w(
"Received null app settings, cannot send reports at crash time.");
return Tasks.forResult(null);
}
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
Hi @lvkun do you see this locally on a single test device, or do you see it on multiple devices? Since you updated from 18.2.1 (from 2021) to 19.2.0 (now), I am wondering if the settings schema changed in some way in the last couple years, you could test this by clearing app data.
Hi @lvkun do you see this locally on a single test device, or do you see it on multiple devices? Since you updated from 18.2.1 (from 2021) to 19.2.0 (now), I am wondering if the settings schema changed in some way in the last couple years, you could test this by clearing app data.
I encountered this on a local test device. I will try clearing app data. However as I described before, the cached setting was loaded successfully.
cachedSettings = {Settings@28134}
cacheDuration = 180228
expiresAtMillis = 1728060117058
featureFlagData = {Settings$FeatureFlagData@28135}
collectAnrs = true
collectBuildIds = true
collectReports = true
onDemandBackoffBase = 1.2
onDemandBackoffStepDurationSeconds = 60
onDemandUploadRatePerMinute = 10.0
sessionData = {Settings$SessionData@28136}
maxCompleteSessionsCount = 4
maxCustomExceptionEvents = 8
settingsVersion = 3
Hey @lvkun, we'll keep the needs-info tag for now. Let us know if the issue is resolved on your side. Don't worry if the issue closes due to stale, we can always reopen this once we have new information. Thanks!
Hey @lvkun. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.
If you have more information that will help us get to the bottom of this, just add a comment!
Since there haven't been any recent updates here, I am going to close this issue.
@lvkun if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.