Cwa-app-android: 1.7-Android crashes on start and periodically in Background

Created on 26 Nov 2020  路  20Comments  路  Source: corona-warn-app/cwa-app-android

Avoid duplicates

  • [x] Bug is not mentioned in the FAQ
  • [x] Bug is specific for Android only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
  • [x] Bug is not already reported in another issue

Describe the bug

A friend's Samsung Galaxy A3 Mini updated CWA to 1.7 11 hours ago. Ever since the app crashes on open and every few seconds when in background.

11-26 10:02:20.493  5987  6021 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-3
11-26 10:02:20.493  5987  6021 E AndroidRuntime: Process: de.rki.coronawarnapp, PID: 5987
11-26 10:02:20.493  5987  6021 E AndroidRuntime: java.lang.IllegalArgumentException: Unknown worker: androidx.work.impl.workers.ConstraintTrackingWorker
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at de.rki.coronawarnapp.util.worker.CWAWorkerFactory.createWorker(CWAWorkerFactory.kt:7)
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at androidx.work.WorkerFactory.createWorkerWithDefaultFallback(WorkerFactory.java:1)
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:70)
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:1)
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
11-26 10:02:20.493  5987  6021 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:762)

Technical details

  • Mobile device: Samsung Galaxy A3 Mini (2016), SM-A310F
  • Android version: 7.0

Possible Fix

Additional context


Internal Tracking ID: EXPOSUREAPP-3987

bug mirrored-to-jira

All 20 comments

We have already fixed this.
The v1.7.1 will be released soon
https://github.com/corona-warn-app/cwa-app-android/pull/1727

@the-kenny Do you have Energy Saving mode active or low disk space

@thomasaugsten Energy Saving mode is off, but the device is always low on disk space. It's pretty much impossible to use an older medium-tier android device like the A3 Mini without being low on disk space. That said, there is ~600MB of free space.

We have already fixed this.
The v1.7.1 will be released soon

1727

@thomasaugsten Sorry, this is a bit off-topic: Have you pulled v1.7.0 from the Play Store? I only see v1.6.1 there.
Or is 1.7.0 delivered in waves?

@d4rken
Great you could fix the crash that fast!
But what will be the practical consequence in @the-kenny 's friend situation (edit) _after the fix_? Will the 'workaround worker' just refuse to instantiate a worker because of the 'low disk space' restraint? If that would be the case, future background updates would silently fail, won't they? 馃

We have already fixed this.
The v1.7.1 will be released soon

1727

@thomasaugsten Sorry, this is a bit off-topic: Have you pulled v1.7.0 from the Play Store? I only see v1.6.1 there.
Or is 1.7.0 delivered in waves?

@nichu42 : yes, with the introduction of version 1.7 of the CWA, a rollout in waves was implemented, since it is now downloaded in pretty large numbers. In this case, it prevented many users from experiencing this error.

@vaubaehn The problem was not the low memory. The issue is Android 7 on this device are not supported how worker on low memory devices are normally called in Android. The worker will then started on all devices correctly

Will the 'workaround worker' just refuse to instantiate a worker because of the 'low disk space' restraint?

The fix means that we will try to instantiate the unknown worker, which will likely succeed (it did on our test devices), so the app will just continue to work normally after the affected devices receive the update.

@thomasaugsten

The problem was not the low memory. The issue is Android 7 on this device are not supported how worker on low memory devices are normally called in Android.

That was also what I understood from information given in the related PR. Unfortunately my question was not well formulated :confused:
But fortunately @d4rken was able to decode my cryptic question, and his answer fed my hopes that the unknwon worker will just work as expected with the best possible level of certanity at this time.

Thanks to you both for your replies!

I was affected by this issue as well (Android 7.1, even though I had 4GB of internal memory free) and can confirm that it is fixed for me with the just published update to 1.7.1.
Thanks for the quick fix!

@the-kenny Did the error disappear for you in CWA 1.7.1?

The update should be rolled out to everyone by now. We will wait for feedback on the topic and close this issue if we receive no further reports.

Regards,
CH


Corona-Warn-App Open Source Team

@heinezen Yes, the error disappeared for me with the latest update.

Dear @the-kenny, thanks for the positive feedback. Best wishes,
DS


Corona-Warn-App Open Source Team

Unfortunatly the update to 1.7.1 did not solve the problem on my device yet. The app closes a few seconds after having started it. System details are:

CWA:1.7.1
Android: 7.0
Kernel: 3.18.35
Model: Cubot King Kong

It seems like the contact tracing is still working in the background because I can see under "Einstellungen -> Google -> COVID-19-Benachrichtigungen" that there have been several contact verifications during the last 14 days.
I am new to github, so apologize if I missed to describe something and let me know whether I can contribute any further information.
regards
HR

Dear @HilRick5, thanks for the report, very much appreciated. We will forward this information to the developers.

Best wishes,
DS

Corona-Warn-App Open Source Team

@HilRick5 As far as I can tell your device is based on a MediaTek Chipset, can you confirm that?

Android 7.0/7.1 + MediaTek Chipset is very likely the ROM bug described in #1609

@d4rken Yes, I guess I can confirm that. In order to get rid off the cwa crashes I recently hoped that a system update would help. Which obviously did not work out.
I used a flashtool from Mediatek for that. The device was recognized as MT6580. More specifically the path to one of the files was named "X511_CQ_7081C_CUBOT_N_V.0.2.0.1.S00708\MT6580". Thanks for looking into this.
Let me know if I could provide anything else useful.
BTW: When I use the function "send feedback" when the app crashes. Will that end up in the Nirvana of Google or is it something that you developers have access to ?

Yes, I guess I can confirm that. In order to get rid off the cwa crashes I recently hoped that a system update would help. Which obviously did not work out.

The update itself allows you to roll the dice on that bug again :smile: . The system update will cause the device to "optimize apps" on boot once, AFAIK it is during this optimizing that the issue happens. The system converts the apps code incorrectly into an optimized form. Every system update, app update, triggers such a re-optimization and either fix or cause the crash.

BTW: When I use the function "send feedback" when the app crashes. Will that end up in the Nirvana of Google or is it something that you developers have access to ?

We have access to that, and it does help, but the "feedback reports" are very basic. It only allows us to spot emerging crashes and their stacktrace + affected android version and device. By emerging I mean a crash count that is unusual. Any app with a user base of 100k+ will get a lot of "noise" in the crash reports, i.e. crashes that are completely unrelated.

Searching and filtering the crash reports is also very basic, I would not be able to find your specific crash without looking through hundreds of pages and manually comparing device type and Android version. That's mostly not necessary though as it would not give me any way to contact you and that's often what helps the most, being able to talk to affected users.

Because the crash reports in the Google Play Console don't give us are ways to reproduce the issue.

Let me know if I could provide anything else useful.

If you know of a way to make the app crash everytime after a fresh install, and could provide me with a step by step guide, that would help me the most.

I'll close this ticket here as the crash caused by the workers is fixed as far as I can tell with CWA 1.7.1. Let's continue any discussion related to the MediaTek bug in #1609.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AllesMeins picture AllesMeins  路  3Comments

schuhmi2 picture schuhmi2  路  3Comments

Alestrix picture Alestrix  路  3Comments

Diapolo picture Diapolo  路  3Comments

marceljay picture marceljay  路  3Comments