DP-3T / gaenlib

0 stars 1 forks source link

Exposure notification not received #23

Closed cgrigis closed 3 years ago

cgrigis commented 3 years ago

Multiple-phone test by @francozappa, started on 2020-11-02

[2020-11-02 10:20:20] I'm running calibration-app.apk on the Pixel 4, calibration-app-gms.apk on A40 id14 and calibration-app-official.apk on A40 id13

[2020-11-02 17:09:40]at 17:09 I self-infected the Pixel 4 and I'm waiting for the notifications on the other two devices.

[2020-11-03 09:04:50] id13 received the exposed notification, still waiting for id14

[2020-11-03 10:45:44] I've erased the data from Pixel 4 and id13 and I've restarted tracking. In a couple of hours I will self-infect id13 to see if the Pixel 4 is notified. id14 is still tracking with its old identity and didn't get a notification (it might be because of gps and micro G conflicts)

[2020-11-03 15:49:59] I've self-infected id13

[2020-11-04 09:50:56] Pixel 4 was not notified and id14 was not notified. It looks like there is a problem with the micro-g apps when they synch with the backend.

cgrigis commented 3 years ago

Unfortunately, the logs of the test were not available on the devices (the logcat started at the time the devices were turned back on again).

Started a new test in the same configuration:

cgrigis commented 3 years ago

[2020-11-12 23:52:18] Self-infected A40 id13, indicating 2020-11-11 as day of diagnosis. [2020-11-13] None of the phones show an exposure notification. According to the logs, every time they synchronized with the server, they didn't receive any new exposure TEK to provide to the match. [2020-11-13 10:43:24] Self-infected Z3, indicating 2020-11-12 as day of diagnosis.

Forcing a server sync on all the other phones, they receive TEKs for 2020-11-12, perform a match and display the notification.

cgrigis commented 3 years ago

New experiment:

[2020-11-13] Started experiment at around 18:30. Installed fresh versions on all phones. [2020-11-13] z3 infected at 23:48, onset date 2020-11-12 [2020-11-14] At 10:00, none of the other phones report an infection (no exposed key file downloaded, status 204) [2020-11-14] a40_id13 infected at 23:48, onset date 2020-11-13 [2020-11-15] At 11:00, still no phone reporting exposure. Logs report that pixel4 at 02:00, and a40_id14 at 01:00, downloaded keys for 2020-11-13, with no match. [2020-11-15] At 20:39, restarted tracking on both z3 and a40_id13; both phones downloaded keys for 2020-11-13 and 2020-11-14, with no match. [2020-11-15] At 20:45, forced sync on pixel4 and a40_id14: no key downloaded. [2020-11]16] At 10:00, modified versions of the code clearing lastLoadedTimes in doSyncInternal() were run on pixel4, z3 and a40_id13: all of them now downloaded more keys and reported exposure.

cgrigis commented 3 years ago

New experiment:

[2020-11-16] Started experiment at around 20:15. Installed fresh versions on all phones (with a few extra debug logs). [2020-11-16] At 23:50, self-infected pixel4 with onset date of 2020-11-15. Logs confirm the TEK was uploaded. [2020-11-17] At 11:00, no other phone reports an exposure. Examining the logs, every attempt to download keys ends with status code 204. [2020-11-17] At 11:15, modified the code to clear lastLoadedTimes in doSyncInternal(), ran it on the z3 and forced a backend sync: the phone got status code 200 for 2011-11-16, downloaded the key and reported an exposure.

cgrigis commented 3 years ago

The DP3T team has identified a bug in the backend and have a proposed a fix, which has been installed on the test backend. Running a new experiment to check the behavior.

cgrigis commented 3 years ago

New experiment: [2020-12-01] Started experiment at around 14:00. Installed fresh versions on all phones (with a few extra debug logs). [2020-12-01] At 22:57, self-infected pixel4 with onset date of 2020-11-30. Logs confirm the TEK was uploaded. [2020-12-02] At 09:00, all the other phones have reported an exposure. According to the logs, exposure was notified at 03:13 on the z3, at 04:10 on the a40_id13, and at 04:15 on the a40_id14.

cgrigis commented 3 years ago

New experiment: [2020-12-02] Started experiment at around 14:00. Installed fresh versions on all phones (with a few extra debug logs). [2020-12-02] At 23:56, self-infected a40_id13 with onset date of 2020-12-01. As it is the "official" version the logs are different, but it looks like a TEK was retrieved. [2020-12-03] At 09:00, all the other phones have reported an exposure. According to the logs, exposure was notified at 04:46 on the z3, at 05:04 on the pixel4, and at 04:40 on the a40_id14.

cgrigis commented 3 years ago

This looks conclusive for v1.0.5 of the DP3T-SDK. More tests will be redone with the v2.0.0 version once ready.