kiwix-android icon indicating copy to clipboard operation
kiwix-android copied to clipboard

An Overview of frequent failures reported by Android Vitals

Open julianharty opened this issue 3 years ago • 4 comments
trafficstars

As requested by @kelson42 here's an assessment of various crashes and ANRs that are topping the charts in Android Vitals for the core Kiwix Android app. Some of these crashes may appear in some of the custom apps (WikiMed, etc.)

I'm going to focus on failures that happen frequently where there also seems to be enough information in the crash clusters or ANR clusters to provide a viable probability of us being able to find and address the underlying problem. I'll raise additional issues for particular failure clusters.

julianharty avatar Jul 09 '22 13:07 julianharty

@julianharty Please open one new bug ticket per problem. No meta ticket.

kelson42 avatar Jul 09 '22 14:07 kelson42

I'll cover some prerequisites first. It'll be much easier to work on these issues if you (whoever's working on the issue) has direct access to Google Play Console for the family Kiwix Android apps. Ping @kelson42 if you don't have access, read-only access should be sufficient. The data being used in these bug reports are reported in Android Vitals and collected from users who are "opted-in" to Share usage & diagnostics information with Google. This means we have data for a subset of the userbase, some of these failures also affect users who do not provide usage / diagnostic information with Google.

The second is that bugs vary in how often they occur and their patterns of occurrence, some have spikes and acute peaks, and others seem to be relatively constant background niggles. The sources of the bugs also vary, some are in code provided as part of Android e.g. for the WebView, others in code in this codebase, and still others in external libraries our apps use.

Third, the Kiwix apps are unusual in the app store for several reasons, the key ones I can think of include:

  • We have lots of users who install the app outside of Google Play e.g. through peer-to-peer sharing - this means that we see vastly different counts when we enable and remove the filter for Installed from Google Play in Android Vitals. The differences are far higher than for any other family of Android apps I've worked with.
  • The core Kiwix app currently needs access to the entire sd-card to search for any Kiwix content on that person's Android device. In the early days of Android this permission was automatic, memory cards were small, and users were unlikely to have lots of other sensitive content on their sd-card. Lots have changed since then including whether the app is permitted to access the entire memory card. Some issues may only occur for the Kiwix code related to accessing and searching the memory card.
  • The custom apps are bundled with specific predefined content.

Finally for now, please help us track the issues by:

  • As @kelson42 asked, Please open one new bug ticket per problem.
  • Adding a label for Android Vitals to any tickets opened for issues reported in Android Vitals.
  • Including screenshots of the graphs, a copy of the stack/ANR trace.
  • Include the URL to the source information (these are protected by Google so only people who are authorised to see them can do so directly). The URL helps us quickly check the current status of the underlying failure cluster(s).

Issue https://github.com/kiwix/kiwix-android/issues/2482 is a good template for the sort of content that would be useful.

julianharty avatar Jul 09 '22 14:07 julianharty

A tip is to compare the results with and without various filters e.g. to filter for only production releases of the app (to help us focus on bugs that are happening to the current release(s)); and also to see if the bug is affecting any of the custom apps.

Android Vitals sometimes has multiple crash clusters for what's probably the same underlying issue so it's worth checking through several pages of the ranked list of crashes and ANRs to get a more complete understanding of the characteristics of the failure.

julianharty avatar Jul 09 '22 14:07 julianharty

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

stale[bot] avatar Sep 21 '22 04:09 stale[bot]

At this stage this is mostly a duplicate of #2904. Closing.

kelson42 avatar Jan 11 '23 18:01 kelson42