Closed hd42 closed 2 years ago
@hd42 Danke fuer den Report.
Vielen Dank, DS
Corona-Warn-App Open Source Team
Ich habe das Datum bereits gestern wieder auf "Datum und Uhrzeit automatisch stellen" zurückgestellt und befinde mich seitdem im WLAN. Eine Warnmeldung erscheint nicht. Gestern kam eine Meldung, dass die Aktualisierung ausgesetzt würde, weil das vom Betriebssystem vorgegebene Limit für den Tag erreicht sei.
Ich habe gestern Abend noch mal die Fehlermeldung gekriegt, das Limit sei erreicht:
@hd42 OK, danke fuer das Feedack. Vorschlag: Die App einen Tag lang nicht aufmachen, dann bitte bei uns melden, ob alles wieder normal ist.
Danke. VG, DS
Corona-Warn-App Open Source Team
Die Limit-Warnung kommt nicht mehr, das falsche Aktualisierungsdatum ist geblieben. Hatte also vermutlich nicht direkt miteinander zu tun.
@hd42 Was zeigt Einstellungen > Google > COVID-19 Benachrichtigungen > Drei-Punkte Symbol > Überprüfung auf mögliche Begegnungen ?
Sind Einträge mit aktuellen Zeitstempel dort aufgelistet?
Die CWA-App zeigt noch: "Aktualisiert: 1. Aug., 09:21" an? Steht "Risiko-Überprüfung fehlgeschlagen" oder z. B. "Niedriges Risiko"?
Wird "RISIKO-ERMITTLUNG AKTIV" noch angezeigt und hat das Gerät noch eine WLAN-Verbindung?
@hd42 Ich konnte das Verhalten reproduzieren und warte jetzt ab, ob das Gerät sich wieder normalisiert. Evtl. müsste man die App zurücksetzen. Heute Nachmittag weiß ich mehr.
@hd42 Ich benutze ein Samsung Galaxy A52 5G, mit Android 11, das das Problem zeigt.
Einstellungen > Google > COVID-19 Benachrichtigungen > Drei-Punkte Symbol > Überprüfung auf mögliche Begegnungen ? zeigt bei mir, dass stündliche Überprüfungen heute gemacht wurden: 10:00, 10:13, 11:58, 13:03, 14:04, 15:08 Normalerweise im WLAN werden die Überprüfungen höchstens alle 4 Stunden durchgeführt.
Trotzdem, dass in der Google-Anzeige weiterschreitende Überprüfungen gemacht wurden, bleibt die CWA-Anzeige beharrlich auf den 1. Aug., 10:02
@dsarkar / @heinezen Can we get this logged with an Internal ID now?
Edit: Jetzt gegen 16:00 kommt die Meldung wg. "Limit bereits erreicht". Das ist logisch, weil nach https://developers.google.com/android/exposure-notifications/exposure-notifications-api#modes in ExposureWindow mode maximal 6 mal provideDiagnosisKeys ausgeführt werden darf, und es sind bereits 6 an diesem Tag, 9.7.2021 durchgeführt worden (10:00, 10:13, 11:58, 13:03, 14:04, 15:08).
In der Google-Übersicht sehe ich, dass bei mir stündliche Aktualisierungen bis einschließlich 3. Juli 20:03 Uhr stattfanden, dann am 01.08. um 9:22 Uhr, dazwischen nichts mehr.
@hd42 Vielleicht ist es einen Versuch wert, folgendes auszuprobieren: Schalte Wifi am Telefon aus, bevor es 0:00 ist, und lass es bis morgen früh (mindestens bis 03:00) aus. Hintergrund: die Checks, wann neue Daten zur Überprüfung heruntergeladen werden und die Überprüfung angestoßen wird, sind ein klein wenig unterschiedlich in Abhängigkeit davon, ob das WLAN an ist. Eventuell kann die mobile Verbindung dabei helfen, die Überprüfung wieder anzuwerfen. Ob's aber tatsächlich funktioniert, würden wir erst morgen sehen...
@hd42 Danke für die Google-Info! Dann ist die Risiko-Berechnung leider zurzeit effektiv inaktiv, wenn für den heutigen Tag keine Einträge vorhanden sind.
Ich hatte schon ausprobiert, ob folgendes hilft:
Das hat bei mir nichts geändert. Ich probiere es morgen erneut aus.
@MikeMcC399
Ich habe zwar nicht in den Code geschaut, aber meine Hoffnung bei der Mobil-Verbindung ist, dass val = lastsuccess
als Kriterium für den nächsten Download anders (weniger restriktiv) berechnet wird,
@vaubaehn Wir haben ja parallel zueinander geschrieben. Ich habe auch nicht in den Code geschaut, aber ähnliche Gedanken gehabt. Die Worker-Prozesse werden mit einem Neustart neu aufgesetzt. Ich befürchte, dass ein App-Reset notwendig sein wird, aber ein paar Versuche sind es Wert, bevor man das macht.
@MikeMcC399 Ich habe jetzt doch noch mal geschaut, und der Code (release 2.4.3) hat sich seit meinem letzten Einblick vor einiger Zeit doch noch ganz schön verändert 😲 Was aber immer noch gelten sollte, ist der forced download unter mobil... Allerdings scheinen im Code doch Abhängigkeiten zum letzten erfolgreichen Download-Datum bzw. package date zu bestehen - und wenn das tatsächlich mit 01.08.2021 abgespeichert ist, wird es schwierig. Allerdings schaffe ich es heute nicht mehr, dort tiefer einzusteigen, so verschachtelt und abstrakt wie der Code mittlerweile ist 😱
Die Worker-Prozesse werden mit einem Neustart neu aufgesetzt. Ich befürchte, dass ein App-Reset notwendig sein wird, aber ein paar Versuche sind es Wert, bevor man das macht.
Genau, und falls @hd42 es ausprobieren möchte, sehen wir ja morgen, ob Erfolg oder nicht... Hab ein gutes Wochenende!
WLAN ist aus, werde morgen über (Miss-)Erfolg berichten.
Hat leider nichts gebracht.
@hd42
Hat leider nichts gebracht.
Bei meinem Versuch auch nicht.
Die Optionen sind dann:
Ich würde wahrscheinlich in den sauren Apfel beißen und die App zurücksetzen.
Für mich sieht
DownloadDiagnosisKeysTask#hasRecentDetectionAndNoNewFiles so aus, dass dort geprüft wird, ob die letzte erfolgreiche Prüfung mehr als 24h her ist - bei mir ist das natürlich ein negativer Zeitraum. Die Logs sehen auch entsprechend aus:
[...] 2021-07-10T02:48:47.505Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles. 2021-07-10T03:56:51.846Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles. 2021-07-10T05:20:57.294Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles. 2021-07-10T06:00:10.602Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles. 2021-07-10T06:10:04.046Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles. 2021-07-10T07:18:15.214Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles. 2021-07-10T08:26:44.222Z W/DownloadDiagnosisKeysTask: Aborting. Last detection is recent (<24h) and no new keyfiles.
Ich würde hier einen zusätzlichen Check vorschlagen, ob nextForcedDetectionAt?.isBefore(now)
.
@hd42 I can't judge if your PR #3683 will technically fix the issue, but I hope so!
Organizationally, your PR won't get accepted in that form though.
You need to make the changes in a new branch of your fork https://github.com/hd42/cwa-app-android, where the branch is named according to guidelines in https://github.com/corona-warn-app/cwa-app-android/blob/main/.github/pull_request_template.md
The pull request should be based on a future unreleased branch and it should request a merge into that future unreleased branch. That would be either release/2.5.x or release/2.6.x. Since release/2.5.x is very close to release probably release/2.6.x would be more appropriate. The developers will advise you on this.
It's also good to get an internal ID first (which I requested in https://github.com/corona-warn-app/cwa-app-android/issues/3629#issuecomment-877212905).
Thanks for the hints, @MikeMcC399. I'm leaving on a two week vacation tomorrow morning. If none of the internal devs has picked this up till then, I'll try and create a formal pull request.
Interesting side note: I just stumbled upon @hd42's screenshot above, showing 7 successful (?) provisions of diagnosis keys to the ENF API on July 3rd, what should not have been possible: https://developers.google.com/android/exposure-notifications/exposure-notifications-api#modes
ENF hick-up?
@vaubaehn It's strange that it didn't stop at 6.
@hd42 I had to uninstall and reinstall the app to get it to work again. Resetting the app for some reason didn't solve the issue. My app may have been in a different state to yours, so that may not apply to you. Good luck anyway and I hope you enjoy your vacation!
The mentioned routine targeted in PR #3683 should be seen as an extra case to proceed, not as an extra check to prevent proceeding.
"Abort if there are no new keyfiles, but it's weird if there are no new keyfiles after 24h, so in that case still go ahead."
Do the logs show why it is not downloading new key files?
@d4rken Could you possibly look at https://github.com/corona-warn-app/cwa-app-android/issues/3677 since this is a similar reproducible case? That might be easier to diagnose and fix, which could provide a better foundation to look at this one (#3629).
@d4rken
Do the logs show why it is not downloading new key files?
To be honest, I feel there could be even more problems for workers/tasks depending on timestamps/other conditions that themselves depend on other conditions/timestamps... for example when being on metered connection
Duration(now, nextDetectionAt)
inDownloadDiagnosisKeysTask.kt
is negative most of the time, asnextDetectionAt
does not seem to be calculated correctly.NextDetectionAt
islastDetection
plus 4 hours, but if only one detection per day takes place (because of metered connection), then this value would become negative, and I don't know whatfun wasLastDetectionPerformedRecently
is returning in that case...
(https://github.com/corona-warn-app/cwa-app-android/issues/2880#issuecomment-843065085)
Is there an easy way to build a model of all workers and their dependent values, and to validate them in a simulation that cycles through all possible use cases (metered/non-metered, current time, future, past, changing forth and back...)? Something we could maybe do as a community effort?
@d4rken
For example:
val nextForcedDetectionAt = lastSuccessfulDetection?.startedAt?.plus(Duration.standardDays(1))
There is no need to make nextForcedDetectionAt
dependent on lastSuccessfulDetection
- it could always be the next day after 0:00 UTC. Every first detection of a day could be a forced detection.
Edit: Ah, ok... but what to do if that fails...
@hd42 Did the app start working again on 01.08.2021?
@Ein-Tim The equivalent reproducible case https://github.com/corona-warn-app/cwa-app-android/issues/3677 does not show any record of a fix yet. I have not checked on more recent versions if this is still reproducible however.
@hd42 Did the app start working again on 01.08.2021?
Yes, it works fine again.
@hd42
Yes, it works fine again.
That is good news!
Do you want to keep this case open if the app is now working again?
Yes, because It's easy to break it again just by fiddling with my system time...
@dsarkar This issue has the label "further input needed". What input is still needed?
@hd42 is correct when he writes
... It's easy to break it again just by fiddling with my system time...
I can reproduce these problems, even with the current version 2.8.0.
Internal Tracking ID: EXPOSUREAPP-10253
There seems to have been no progress on this issue. 🙁
I also logged a new issue #5183, with screenshots and steps-to-reproduce using the current version 2.22.1. The new issue is more or less a duplicate of this issue (#3629).
I have just checked the linked Jira issue.
Jira Ticket is flagged as:
Resolution: Wont Fix
Status: Obsolete
Unfortunately, no additional information was added to this Jira ticket.
This ticket will be closed in favor of https://github.com/corona-warn-app/cwa-app-android/issues/5183
Avoid duplicates
Technical details
Describe the bug
Meine Frau und ich hatten am gleichen Tag die Impfung, aber unterschiedliche Anzeigen wie lange es noch bis zur vollständigen Impfung dauerte (ich hatte noch Version 2.4.2, das war wohl der Grund). Bei der Suche nach dem Grund stolperte ich über einen Bericht zu #3532 und probierte aus, mein Systemdatum auf den 1.8. zu stellen. Seit dem zeigt die Risikoermittlung "Aktualisiert: 1. Aug., 9:21". Ich bin nicht sicher, ob dennoch Aktualisierungen stattfinden oder ob ich jetzt 4 Wochen lang keine Aktualisierungen mehr erhalte.
Steps to reproduce the issue
Expected behaviour
"Aktualisiert" should be updated even if current date is before a fictive last date from the future.
Possible Fix
Additional context
Internal Tracking ID: EXPOSUREAPP-10253 Internal Tracking ID: EXPOSUREAPP-9077