Hi. Could you provide us with more Information of the Context, App Version and when this occured?
I have the same problem.
I have it now.
I have App version 1.0.4
Hi. Thanks for pointing out your issue, however we would really need more detailed information on the context of your devices, your setup and your installation. Otherwise it is extremely hard for us to correctly identify the issue. Thanks so much for your understanding.
Important Info:
@jakobmoellersap have the same problem after restart the phone. Do you need detailed informations?
got the same bug, app has been installed for a couple of days and already displayed "Niedriges Risiko" before. When i close the error report it shows the green display "niedriges risiko" again
this occures reproducable after each startup (including after a restart of the phone)
App Version 1.0.4
Android Version 6.0
Device Model and Manufacturer ALE-L21 Huawei
Latest OS Update Kernel Version 3.10.86-g33ff982
Latest Update of CWA idk
Installation Date of CWA 20.6.2020
Date/Time of the error 10:34 25.6.2020 (every time i open the app, started this morning)
URSACHE: 3
Etwas ist schief gelaufen.
Fehler bei Kommunikation mit
@gitbrueck please refer to the other issues referencing error 3 like #499 and #508
Just as a headsup: This means that key files are actually sent to the API, so most likely the concern is (as discussed in #642) a security API problem within certain devices from certain manufacturers together with the applied security providers.
On the bright side: You do get the keys of the server onto your device, however the security handling is broken apparently.
Same here Honor 7 Premium 32 GB (Android 6). The problem popped up yesterday morning but after a few hours it disappeared.
@gitbrueck please refer to the other issues referencing error 3 like #499 and #508
I cleared data and cache of Google Play Store.
I restarted the device.
Now everything works.
Hard to say what really solved the problem.
Maybe like @Martin-Wegner just wait and see.
Same problem with a Huawei P8.
Same on Huawei ALE-L21
Build Number ALE-L21C432B634
Emui 4.0.3
Android 6.0
Same error occurred on my phone today 25 June 2020 in the morning. App seems running fine now - don't know if everything indeed works as it should in the background (?).
Update:
I checked the Google > Exposure Notification entry in the Android menu. Information about last check Letzte ĂberprĂŒfung auf eine mögliche Begegnung mit einer infizierten Person am heute um 09:03.
It would be extremely helpful if anyone that experiences this error can submit a proper bug report to us via adb as seen here:
https://developer.android.com/studio/debug/bug-report
I took a bug report, but I'm hesitant to share it publicly. Is there any way for me to share it privately?
I took a bug report via my smartphone as well.
Can you guys take a look at #642 and see whether you have matching reports or similar problems in your report? The errors seem to correlate
Here is my filtered log:
06-26 10:43:01.178 4512 4512 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:01.277 4512 4512 W ResourceType: No known package when getting name for resource number 0x9c020402
06-26 10:43:01.286 4443 4443 I K3V3CpuGovernorPolicy: set scene Hmp policy : 300 , 150
06-26 10:43:01.340 27740 27740 I : power log dlsym ok
06-26 10:43:01.389 4443 5184 W PGApi_client: recv actoionId = 10000, action = com.huawei.pgmng.PGAction@705a9f8 actionId =10000 pkg =de.rki.coronawarnapp extend1 =1782 extend2 = flag =3 type =1
06-26 10:43:01.389 4443 5184 W PGMiddleWare: in handleAction method, action = 10000
06-26 10:43:01.389 4443 5184 W PGMiddleWare: in handleAction, invoke client = com.huawei.pgmng.middleware.AudioEffectLowPowerImpl@c4db6b0, action = com.huawei.pgmng.PGAction@705a9f8 actionId =10000 pkg =de.rki.coronawarnapp extend1 =1782 extend2 = flag =3 type =1
06-26 10:43:01.397 3892 4033 I HwSystemManager: NotificationGuideService:handle MSG_ACTIVIY_FOREGROUND, uid:10145
06-26 10:43:01.401 27740 27752 E linker : readlink('/proc/self/fd/20') failed: Permission denied [fd=20]
06-26 10:43:01.401 27740 27752 E linker : warning: unable to get realpath for the library "/system/lib64/hw/gralloc.hi3635.so". Will use given name.
06-26 10:43:01.402 27740 27752 E linker : readlink('/proc/self/fd/20') failed: Permission denied [fd=20]
06-26 10:43:01.402 27740 27752 E linker : warning: unable to get realpath for the library "libion.so". Will use given name.
06-26 10:43:01.403 27740 27752 E HAL : load: id=gralloc != hmi->id=gralloc
06-26 10:43:01.858 27740 27740 I art : Rejecting re-init on previously-failed class java.lang.Class<org.conscrypt.Java7ExtendedSSLSession>
06-26 10:43:01.858 27740 27740 I art : Rejecting re-init on previously-failed class java.lang.Class<org.conscrypt.Java7ExtendedSSLSession>
06-26 10:43:01.859 27740 27740 I art : Rejecting re-init on previously-failed class java.lang.Class<org.conscrypt.Java8ExtendedSSLSession>
06-26 10:43:01.859 27740 27740 I art : Rejecting re-init on previously-failed class java.lang.Class<org.conscrypt.Java8ExtendedSSLSession>
06-26 10:43:01.931 27740 27740 I HwCust : Constructor found for class android.app.HwCustHwWallpaperManagerImpl
06-26 10:43:02.094 4443 4443 I K3V3CpuGovernorPolicy: close previously scene Hmp policy : 300 , 150
06-26 10:43:02.121 27740 27740 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:02.161 27740 27761 E HAL : load: id=gralloc != hmi->id=gralloc
06-26 10:43:02.162 27740 27761 I OpenGLRenderer: Initialized EGL, version 1.4
06-26 10:43:02.168 27740 27761 E linker : readlink('/proc/self/fd/39') failed: Permission denied [fd=39]
06-26 10:43:02.168 27740 27761 E linker : warning: unable to get realpath for the library "libhwaps.so". Will use given name.
06-26 10:43:02.184 27740 27761 E linker : readlink('/proc/self/fd/40') failed: Permission denied [fd=40]
06-26 10:43:02.184 27740 27761 E linker : warning: unable to get realpath for the library "/system/lib64/libhwuibp.so". Will use given name.
06-26 10:43:02.195 27740 27762 I System : core_booster, getBoosterConfig = false
06-26 10:43:02.211 27740 27740 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:02.216 8205 8205 I GoogleInputMethodServic: GoogleInputMethodService.onFinishInput():3138
06-26 10:43:02.218 8205 8205 I GoogleInputMethodServic: GoogleInputMethodService.onStartInput():1808
06-26 10:43:02.249 3394 3416 I ActivityManager: Displayed de.rki.coronawarnapp/.ui.LauncherActivity: +925ms
06-26 10:43:02.314 27740 27762 I System : core_booster, getBoosterConfig = false
06-26 10:43:03.186 27740 27740 I EngineFactory: Provider GmsCore_OpenSSL not available
06-26 10:43:03.703 3394 3415 I Bluetooth_framework: BluetoothManagerService:Message: 20
06-26 10:43:03.703 3394 3415 I Bluetooth_framework: BluetoothManagerService:Added callback: android.bluetooth.IBluetoothManagerCallback$Stub$Proxy@a2e0602:true pid = 27740
06-26 10:43:04.009 27740 27740 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:04.011 3394 3416 I ActivityManager: Displayed de.rki.coronawarnapp/.ui.main.MainActivity: +797ms
06-26 10:43:04.012 8205 8205 I GoogleInputMethodServic: GoogleInputMethodService.onFinishInput():3138
06-26 10:43:04.013 8205 8205 I GoogleInputMethodServic: GoogleInputMethodService.onStartInput():1808
06-26 10:43:04.429 3394 3747 W AlarmManager: WAKEUP alarm trigger action = com.android.bluetooth.btservice.action.ALARM_WAKEUP elapsed = 39886791
06-26 10:43:04.796 27740 27804 I System : core_booster, getBoosterConfig = false
06-26 10:43:04.798 27740 27805 I System : core_booster, getBoosterConfig = false
06-26 10:43:05.007 27740 27805 I System : core_booster, getBoosterConfig = false
06-26 10:43:05.007 27740 27804 I System : core_booster, getBoosterConfig = false
06-26 10:43:05.301 4875 19518 I SendBroadcastPermission: action:com.google.android.libraries.storage.protostore.SIGNAL_ACTION, mPermissionType:0
06-26 10:43:05.301 4875 19518 I SendBroadcastPermission: action:com.google.android.libraries.storage.protostore.SIGNAL_ACTION, mPermissionType:0
06-26 10:43:05.327 4875 23874 E AsyncOperation: serviceID=236, operation=ProvideDiagnosisKeysOperation
06-26 10:43:05.327 4875 23874 E AsyncOperation: OperationException[Status{statusCode=Unable to validate key file signature: Pipe is closed, resolution=null}]
06-26 10:43:05.327 4875 23874 E AsyncOperation: at bnt.a(:com.google.android.gms.policy_nearby@[email protected]:187)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at azi.run(:com.google.android.gms.policy_nearby@[email protected]:11)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at ddp.run(:com.google.android.gms.policy_nearby@[email protected]:2)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at avl.b(:com.google.android.gms.policy_nearby@[email protected]:12)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at avl.run(:com.google.android.gms.policy_nearby@[email protected]:7)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at stk.run(:com.google.android.gms@[email protected] (040408-316502805):0)
06-26 10:43:05.327 4875 23874 E AsyncOperation: at java.lang.Thread.run(Thread.java:833)
06-26 10:43:05.379 27740 27740 W System.err: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
06-26 10:43:05.380 27740 27740 W System.err: at android.support.v4.media.MediaDescriptionCompatApi21$Builder.setResultOrApiException(MediaDescriptionCompatApi21.java:3)
06-26 10:43:05.380 27740 27740 W System.err: at com.google.android.gms.internal.nearby.zzae.onResult(com.google.android.gms:play-services-nearby@@18.0.2-eap:2)
06-26 10:43:05.380 27740 27740 W System.err: at com.google.android.gms.common.api.internal.IStatusCallback$Stub.zaa(com.google.android.gms:play-services-base@@17.3.0:2)
06-26 10:43:05.380 27740 27740 W System.err: at com.google.android.gms.internal.base.zaa.onTransact(com.google.android.gms:play-services-base@@17.3.0:3)
06-26 10:43:05.380 27740 27740 W System.err: at android.os.Binder.execTransact(Binder.java:453)
06-26 10:43:05.885 3394 3822 I QosMonitor: postEventFromNative: msg=100,arg1=0,arg2=9
06-26 10:43:06.687 27740 27740 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:07.745 27740 27740 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:07.880 27740 27740 I HwSecImmHelper: mSecurityInputMethodService is null
06-26 10:43:08.708 4443 4443 I K3V3CpuGovernorPolicy: set scene Hmp policy : 300 , 150
06-26 10:43:08.714 2860 9512 W SurfaceFlinger: FB is protected: PERMISSION_DENIED
06-26 10:43:08.734 4443 5184 W PGApi_client: recv actoionId = 10010, action = com.huawei.pgmng.PGAction@5031ed1 actionId =10010 pkg =com.huawei.android.launcher extend1 =1785 extend2 = flag =3 type =1
06-26 10:43:08.734 4443 5184 W PGMiddleWare: in handleAction method, action = 10010
06-26 10:43:08.734 4443 5184 W PGMiddleWare: in handleAction, invoke client = com.huawei.pgmng.middleware.AudioEffectLowPowerImpl@c4db6b0, action = com.huawei.pgmng.PGAction@5031ed1 actionId =10010 pkg =com.huawei.android.launcher extend1 =1785 extend2 = flag =3 type =1
Same problem here on Android 6.0.
The app worked fine for the last week until it started showing this error message around yesterday:
URSACHE: 3
Etwas ist schief gelaufen.
Fehler bei Kommunikation mit Google API(10)
Ursache: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
at ...
App Version: 1.0.4
Android Version: 6.0
Device Model and Manufacturer: Vernee Thor (2016)
Latest OS Update: Oct 2016
Latest Update of CWA: 20 June 2020
Installation Date of CWA: 16 June 2020
Date/Time of the error:
Noticed it yesterday (25th June) for the first time in the morning at around 9:00 while manually
starting the app. Today the same thing happened after manually starting the app at around 9:00.
The app itself says: "Niedriges Risiko, Bisher keine Risiko-Begegnungen, 10 von 14 Tagen aktiv,
Aktualisiert: Gestern, 07:19, tÀgliche Aktualisierung". ("yesterday, 7:19" - so I guess that means: no update today yet)
Afterwards, there's a new error:
URSACHE: 3
Etwas ist schief gelaufen.
Fehler bei Kommunikation mit Google API(39508)
Ursache: com.google.android.gms.common.api.ApiException: 39508:
at: ...
After getting rid of the error messages by clicking "okay" the app seems to be working fine. "Risiko-Ermittlung aktiv, niedriges Risiko".
However after leaving the app via back-button and entering it again via clicking the link on the home screen, the 2nd error message is back (Google API(39508)).
Can you guys take a look at #642 and see whether you have matching reports or similar problems in your report? The errors seem to correlate
As far as I remember, I've never seen that error ("9002, file is not a database: , while compiling: select count(*) from sqlite_master;") before.
39508 is rate-limiting since the API Call is done twice but the Submission in the API is failing and detected by the transaction, which in turn rolls back and then thinks the call never came through. This is also the reason why the rate-limiting appeared in the first place.
@Tj20 can you give us a device model so that we can check whether this correlates?
It's a Vernee Thor (2016), model number: "thor", Android 6.0, latest OS update: Oct 2016 (thor_20161008), Kernel 3.18.19
Okay, could you give us some more details of your devices via ADB? Concretely, we would like to know the GMS Version.
this can be retrieved via the following command:
adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en\|\[Container\]'
Update for https://github.com/corona-warn-app/cwa-app-android/issues/737#issuecomment-649702108: Same error happened today on
Here my heavily filtered log - hope I didn't remove relevant lines:
Click to expand
```javascript
dumpstate: 2020-06-26 09:49:14
Build: MMB29M.G900FXXU1CRH1
Build fingerprint: 'samsung/kltexx/klte:6.0.1/MMB29M/G900FXXU1CRH1:user/release-keys'
Bootloader: G900FXXU1CRH1
Kernel: Linux version 3.4.0-14131106 (dpi@21HHAF15) (gcc version 4.9.x-google 20140827 (prerelease) (GCC) ) #1 SMP PREEMPT Mon Aug 6 19:17:53 KST 2018
Command line: console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x37 ehci-hcd.park=3 androidboot.sec_atd.tty=/dev/ttyHSL0 sec_log=0x100000@0x10000008 sec_dbg=0x80000@0x10100008 sec_debug.reset_reason=0x7 mdss_mdp.panel=1:dsi:0:mdss_dsi_samsung_1080p_cmd_fa2 lcd_id=0x602813 Panelres=1 pmic_info=3 androidboot.debug_level=0x4f4c sec_debug.enable=0 sec_debug.enable_user=0 androidboot.cp_debug_level=0x55FF sec_debug.enable_cp_debug=0 cordon=9aa7269813c11255783e75057c7fbe00 connie=SM-G900F_OPEN_EUR_7913b415b9abe36d19ad1ca2d6f21f49 loglevel=4 samsung.hardware=SM-G900F androidboot.revision=14 androidboot.emmc_checksum=3 androidboot.warranty_bit=0 fg_reset=0 androidboot.bootloader=G900FXXU1CRH1 androidboot.nvdata_backup=0 androidboot.boot_recovery=0 uart_dbg=0 sec_debug.pmc8974_rev=2 vmalloc=450m level=0x574f4c44 androidboot.emmc=true androidboot.serialno=4f1d4c8e androidboot.baseband=msm
------ SYSTEM LOG (logcat -v threadtime -d *:v) ------
--------- beginning of main
06-26 09:48:22.290 818 818 I ActivityManager: Start proc 23475:de.rki.coronawarnapp/u0a259 for service de.rki.coronawarnapp/androidx.work.impl.background.systemjob.SystemJobService
06-26 09:48:22.340 23475 23475 W ResourcesManager: getTopLevelResources: /data/app/de.rki.coronawarnapp-1/base.apk / 1.0 running in de.rki.coronawarnapp rsrc of package null
06-26 09:48:22.680 818 1656 D PackageManager: setEnabledSetting : userId = 0 packageName = de.rki.coronawarnapp cmp = androidx.work.impl.background.systemjob.SystemJobService newState = 1 callingPackage = 10259
06-26 09:48:24.150 23475 23567 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/journal.tmp
06-26 09:48:25.720 23475 23574 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/9fe44808aba26677253c42a986222fcd.0
06-26 09:48:25.720 23475 23574 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/9fe44808aba26677253c42a986222fcd.1
06-26 09:48:26.000 23475 23574 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/b280261e5c73c5c112da3956deefb48e.0
06-26 09:48:26.000 23475 23574 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/b280261e5c73c5c112da3956deefb48e.1
06-26 09:48:27.310 23475 23568 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/58eddfcca85aa33b90375bd75b332fee.0
06-26 09:48:27.310 23475 23568 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/58eddfcca85aa33b90375bd75b332fee.1
06-26 09:48:27.890 13871 14868 I ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-26 09:48:27.890 13871 14868 I ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@d2ff9e created [CONTEXT service_id=236 ]
06-26 09:48:27.900 13871 14868 I ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@d2ff9e closed [CONTEXT service_id=236 ]
06-26 09:48:27.900 13871 14868 I ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-26 09:48:27.960 13871 4874 W System.err: stat failed: ENOENT (No such file or directory) : /data/user/0/com.google.android.gms/app_en_diagnosis_keys/1593157707970/export0.bin
06-26 09:48:27.980 13871 4874 E AsyncOperation: serviceID=236, operation=ProvideDiagnosisKeysOperation
06-26 09:48:27.980 13871 4874 E AsyncOperation: OperationException[Status{statusCode=Unable to validate key file signature: Pipe is closed, resolution=null}]
06-26 09:48:27.980 13871 4874 E AsyncOperation: at bnt.a(:com.google.android.gms.policy_nearby@[email protected]:187)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at azi.run(:com.google.android.gms.policy_nearby@[email protected]:11)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at ddp.run(:com.google.android.gms.policy_nearby@[email protected]:2)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at avl.b(:com.google.android.gms.policy_nearby@[email protected]:12)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at avl.run(:com.google.android.gms.policy_nearby@[email protected]:7)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at stk.run(:com.google.android.gms@[email protected] (040308-316502805):0)
06-26 09:48:27.980 13871 4874 E AsyncOperation: at java.lang.Thread.run(Thread.java:818)
06-26 09:48:28.010 13871 13871 I ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-26 09:48:28.010 13871 13871 I ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@a006f38 created [CONTEXT service_id=236 ]
06-26 09:48:28.030 13871 13871 I ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@a006f38 closed [CONTEXT service_id=236 ]
06-26 09:48:28.030 13871 13871 I ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-26 09:48:28.040 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Starting matching job. [CONTEXT service_id=236 ]
06-26 09:48:28.050 23475 23513 I WM-WorkerWrapper: Worker result RETRY for Work [ id=4c91f2e3-9a01-4a5b-8710-e92d52366787, tags={ DIAGNOSIS_KEY_ONE_TIME_WORKER, de.rki.coronawarnapp.worker.DiagnosisKeyRetrievalOneTimeWorker } ]
06-26 09:48:28.060 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Java pre-filter started. [CONTEXT service_id=236 ]
06-26 09:48:28.090 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb contact-tracing-contact-record-db [CONTEXT service_id=236 ]
06-26 09:48:28.090 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:contact-tracing-contact-record-db instance btz@2e946e4 created [CONTEXT service_id=236 ]
06-26 09:48:28.540 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Java pre-filter found 0 keys with sightings [CONTEXT service_id=236 ]
06-26 09:48:28.540 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Java tracing started. [CONTEXT service_id=236 ]
06-26 09:48:28.540 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:contact-tracing-contact-record-db instance btz@e775202 created [CONTEXT service_id=236 ]
06-26 09:48:28.570 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-exposure-result-storage-db [CONTEXT service_id=236 ]
06-26 09:48:28.570 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:en-exposure-result-storage-db instance btz@356b713 created [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:en-exposure-result-storage-db instance btz@356b713 closed [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-exposure-result-storage-db [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:contact-tracing-contact-record-db instance btz@e775202 closed [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Traced 0 diagnosis keys and found 0 matches. [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:contact-tracing-contact-record-db instance btz@2e946e4 closed [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb contact-tracing-contact-record-db [CONTEXT service_id=236 ]
06-26 09:48:28.650 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Persisting matching request record. [CONTEXT service_id=236 ]
06-26 09:48:28.660 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Matching job complete. Run time=603350362 ns. Matches not found. [CONTEXT service_id=236 ]
06-26 09:48:28.670 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-26 09:48:28.670 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@60c8c4e created [CONTEXT service_id=236 ]
06-26 09:48:28.670 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@60c8c4e closed [CONTEXT service_id=236 ]
06-26 09:48:28.670 13871 9091 I ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-26 09:48:28.670 13871 9091 I ExposureNotification: [MatchingTracer: requestId=1593157707598, package=...rki.coronawarnapp] Successfully removed request. Matching job complete. [CONTEXT service_id=236 ]
06-26 09:48:43.050 13871 13871 I ExposureNotification: ExposureNotificationChimeraService.onUnbind [CONTEXT service_id=236 ]
06-26 09:48:44.960 21047 21047 I Timeline: Timeline: Activity_launch_request id:de.rki.coronawarnapp time:1183018648
06-26 09:48:44.990 818 1264 D ActivityManager: Launching de.rki.coronawarnapp, updated priority
06-26 09:48:45.020 818 902 V MARsPolicyManager: updatePackagesScore PackageInfo name -- de.rki.coronawarnapp
06-26 09:48:45.100 818 957 D ISSUE_DEBUG: InputChannelName : a782ac4 Starting de.rki.coronawarnapp
06-26 09:48:45.160 23475 23475 W ResourcesManager: getTopLevelResources: /data/app/de.rki.coronawarnapp-1/base.apk / 1.0 running in de.rki.coronawarnapp rsrc of package null
06-26 09:48:45.160 23475 23475 W ResourcesManager: getTopLevelResources: /data/app/de.rki.coronawarnapp-1/base.apk / 1.0 running in de.rki.coronawarnapp rsrc of package null
06-26 09:48:45.170 23475 23475 W ResourcesManager: getTopLevelResources: /data/app/de.rki.coronawarnapp-1/base.apk / 1.0 running in de.rki.coronawarnapp rsrc of package null
06-26 09:48:45.210 818 957 V WindowStateAnimator: Finishing drawing window Window{a782ac4 u0 d0 Starting de.rki.coronawarnapp}: mDrawState=DRAW_PENDING
06-26 09:48:45.220 818 957 V WindowStateAnimator: Finishing drawing window Window{a782ac4 u0 d0 Starting de.rki.coronawarnapp}: mDrawState=COMMIT_DRAW_PENDING
06-26 09:48:45.350 818 1656 I ActivityManager: Start proc 23847:com.wsomacp/u0a29 for content provider com.wsomacp/.db.XCPDBSqlProvider
06-26 09:48:45.830 818 1957 D ISSUE_DEBUG: InputChannelName : 7c7ee92 de.rki.coronawarnapp/de.rki.coronawarnapp.ui.main.MainActivity
06-26 09:48:45.850 13871 13871 W ResourcesManager: getTopLevelResources: /data/data/com.google.android.gms/app_chimera/m/00000102/dl-Nearby.integ_202304013020300.apk / 1.0 running in com.google.android.gms rsrc of package null
06-26 09:48:46.150 818 835 V WindowStateAnimator: Finishing drawing window Window{7c7ee92 u0 d0 de.rki.coronawarnapp/de.rki.coronawarnapp.ui.main.MainActivity}: mDrawState=DRAW_PENDING
06-26 09:48:46.160 818 957 I ActivityManager: Displayed de.rki.coronawarnapp/.ui.main.MainActivity: +1s166ms
06-26 09:48:46.160 818 957 I Timeline: Timeline: Activity_windows_visible id: ActivityRecord{efd0ed9 u0 de.rki.coronawarnapp/.ui.main.MainActivity t21655} time:1183019844
06-26 09:48:46.210 13871 2245 D BluetoothAdapter: STATE_BLE_ON
06-26 09:48:46.210 13871 2245 I ExposureNotification: Utils#isSupported enabled=true, isDeviceSupported=true, isBluetoothSupported=true, BluetoothAdapter.isMultipleAdvertisementSupported=false [CONTEXT service_id=236 ]
06-26 09:48:46.320 23475 23567 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/79b223ef7f5defd91b9eb3ebf8e0f68a.0
06-26 09:48:46.320 23475 23567 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/79b223ef7f5defd91b9eb3ebf8e0f68a.1
06-26 09:48:51.370 23475 23568 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/06949b74c3b8765ee756681acfa04329.0
06-26 09:48:51.370 23475 23568 W System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/de.rki.coronawarnapp/cache/http_cache/06949b74c3b8765ee756681acfa04329.1
06-26 09:48:51.510 13871 9091 W System.err: stat failed: ENOENT (No such file or directory) : /data/user/0/com.google.android.gms/app_en_diagnosis_keys/1593157731521/export0.bin
06-26 09:48:51.610 13871 9091 E AsyncOperation: serviceID=236, operation=ProvideDiagnosisKeysOperation
06-26 09:48:51.610 13871 9091 E AsyncOperation: OperationException[Status{statusCode=Unable to validate key file signature: Pipe is closed, resolution=null}]
06-26 09:48:51.610 13871 9091 E AsyncOperation: at bnt.a(:com.google.android.gms.policy_nearby@[email protected]:187)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at azi.run(:com.google.android.gms.policy_nearby@[email protected]:11)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at ddp.run(:com.google.android.gms.policy_nearby@[email protected]:2)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at avl.b(:com.google.android.gms.policy_nearby@[email protected]:12)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at avl.run(:com.google.android.gms.policy_nearby@[email protected]:7)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at stk.run(:com.google.android.gms@[email protected] (040308-316502805):0)
06-26 09:48:51.610 13871 9091 E AsyncOperation: at java.lang.Thread.run(Thread.java:818)
06-26 09:48:51.700 23475 23475 W System.err: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
06-26 09:48:51.700 23475 23475 W System.err: at android.support.v4.media.MediaDescriptionCompatApi21$Builder.setResultOrApiException(MediaDescriptionCompatApi21.java:3)
06-26 09:48:51.700 23475 23475 W System.err: at com.google.android.gms.internal.nearby.zzae.onResult(com.google.android.gms:play-services-nearby@@18.0.2-eap:2)
06-26 09:48:51.700 23475 23475 W System.err: at com.google.android.gms.common.api.internal.IStatusCallback$Stub.zaa(com.google.android.gms:play-services-base@@17.3.0:2)
06-26 09:48:51.700 23475 23475 W System.err: at com.google.android.gms.internal.base.zaa.onTransact(com.google.android.gms:play-services-base@@17.3.0:3)
06-26 09:48:51.700 23475 23475 W System.err: at android.os.Binder.execTransact(Binder.java:453)
06-26 09:48:51.800 818 1685 D ISSUE_DEBUG: InputChannelName : 2866a45 de.rki.coronawarnapp/de.rki.coronawarnapp.ui.main.MainActivity
06-26 09:48:52.280 23475 23475 W : Unable to open '/system/framework/com.qti.location.sdk.jar': No such file or directory
06-26 09:48:52.330 23475 23475 W : Unable to open '/system/framework/com.qti.location.sdk.jar': No such file or directory
06-26 09:48:52.400 23475 23475 W : Unable to open '/system/framework/com.qti.location.sdk.jar': No such file or directory
DUMP OF SERVICE dbinfo:
Applications Database Info:
* Database info for pid 23475 [de.rki.coronawarnapp] *
Connection pool for /data/user/0/de.rki.coronawarnapp/no_backup/androidx.work.workdb:
Open: true
Max connections: 4
Available primary connection:
Connection #0:
isPrimaryConnection: true
onlyAllowReadOnlyOperations: false
Most recently executed operations:
0: [2020-06-26 09:49:15.092] [Pid:(818)]executeForLong took 0ms - succeeded, sql="PRAGMA temp.page_size;"
1: [2020-06-26 09:49:15.092] [Pid:(818)]executeForLong took 0ms - succeeded, sql="PRAGMA temp.page_count;"
2: [2020-06-26 09:49:15.092] [Pid:(818)]executeForCursorWindow took 0ms - succeeded, sql="PRAGMA database_list;"
3: [2020-06-26 09:49:15.088] [Pid:(818)]executeForLong took 0ms - succeeded, sql="PRAGMA page_size;"
4: [2020-06-26 09:49:15.086] [Pid:(818)]executeForLong took 2ms - succeeded, sql="PRAGMA page_count;"
5: [2020-06-26 09:48:45.779] [Pid:(23475)]execute took 1ms - succeeded, sql="COMMIT;"
6: [2020-06-26 09:48:45.779] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT * FROM room_table_modification_log WHERE invalidated = 1;"
7: [2020-06-26 09:48:45.779] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT * FROM room_table_modification_log WHERE invalidated = 1;"
8: [2020-06-26 09:48:45.779] [Pid:(23475)]execute took 0ms - succeeded, sql="BEGIN EXCLUSIVE;"
9: [2020-06-26 09:48:45.779] [Pid:(23475)]execute took 0ms - succeeded, sql="COMMIT;"
10: [2020-06-26 09:48:45.779] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (SELECT work_spec_id FROM worktag WHERE tag=?)"
11: [2020-06-26 09:48:45.779] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (SELECT work_spec_id FROM worktag WHERE tag=?)"
12: [2020-06-26 09:48:45.779] [Pid:(23475)]execute took 0ms - succeeded, sql="BEGIN EXCLUSIVE;"
13: [2020-06-26 09:48:45.778] [Pid:(23475)]execute took 0ms - succeeded, sql="COMMIT;"
14: [2020-06-26 09:48:45.778] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT * FROM room_table_modification_log WHERE invalidated = 1;"
15: [2020-06-26 09:48:45.778] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT * FROM room_table_modification_log WHERE invalidated = 1;"
16: [2020-06-26 09:48:45.778] [Pid:(23475)]execute took 0ms - succeeded, sql="BEGIN EXCLUSIVE;"
17: [2020-06-26 09:48:45.777] [Pid:(23475)]execute took 0ms - succeeded, sql="COMMIT;"
18: [2020-06-26 09:48:45.776] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT progress,work_spec_id FROM WorkProgress WHERE work_spec_id IN (?)"
19: [2020-06-26 09:48:45.776] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT progress,work_spec_id FROM WorkProgress WHERE work_spec_id IN (?)"
Available non-primary connections:
Connection #1:
isPrimaryConnection: false
onlyAllowReadOnlyOperations: true
Most recently executed operations:
0: [2020-06-26 09:49:15.093] [Pid:(818)]executeForCursorWindow took 0ms - succeeded, sql="PRAGMA database_list;"
1: [2020-06-26 09:49:15.093] [Pid:(818)]executeForLong took 0ms - succeeded, sql="PRAGMA page_size;"
2: [2020-06-26 09:49:15.092] [Pid:(818)]executeForLong took 1ms - succeeded, sql="PRAGMA page_count;"
3: [2020-06-26 09:48:23.528] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT required_network_type, requires_charging, requires_device_idle, requires_battery_not_low, requires_storage_not_low, trigger_content_update_delay, trigger_max_content_delay, content_uri_triggers, WorkSpec.id AS id, WorkSpec.state AS state, WorkSpec.worker_class_name AS worker_class_name, WorkSpec.input_merger_class_name AS input_merger_class_name, WorkSpec.input AS input, WorkSpec.output AS output, WorkSpec.initial_delay AS initial_delay, WorkSpec.interval_duration AS interval_duration, WorkSpec.flex_duration AS flex_duration, WorkSpec.run_attempt_count AS run_attempt_count, WorkSpec.backoff_policy AS backoff_policy, WorkSpec.backoff_delay_duration AS backoff_delay_duration, WorkSpec.period_start_time AS period_start_time, WorkSpec.minimum_retention_duration AS minimum_retention_duration, WorkSpec.schedule_requested_at AS schedule_requested_at, WorkSpec.run_in_foreground AS run_in_foreground FROM workspec WHERE id=?"
4: [2020-06-26 09:48:23.527] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT required_network_type, requires_charging, requires_device_idle, requires_battery_not_low, requires_storage_not_low, trigger_content_update_delay, trigger_max_content_delay, content_uri_triggers, WorkSpec.id AS id, WorkSpec.state AS state, WorkSpec.worker_class_name AS worker_class_name, WorkSpec.input_merger_class_name AS input_merger_class_name, WorkSpec.input AS input, WorkSpec.output AS output, WorkSpec.initial_delay AS initial_delay, WorkSpec.interval_duration AS interval_duration, WorkSpec.flex_duration AS flex_duration, WorkSpec.run_attempt_count AS run_attempt_count, WorkSpec.backoff_policy AS backoff_policy, WorkSpec.backoff_delay_duration AS backoff_delay_duration, WorkSpec.period_start_time AS period_start_time, WorkSpec.minimum_retention_duration AS minimum_retention_duration, WorkSpec.schedule_requested_at AS schedule_requested_at, WorkSpec.run_in_foreground AS run_in_foreground FROM workspec WHERE id=?"
5: [2020-06-26 09:48:23.390] [Pid:(23475)]executeForCursorWindow took 1ms - succeeded, sql="SELECT output FROM workspec WHERE id IN (SELECT prerequisite_id FROM dependency WHERE work_spec_id=?)"
6: [2020-06-26 09:48:23.389] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT output FROM workspec WHERE id IN (SELECT prerequisite_id FROM dependency WHERE work_spec_id=?)"
7: [2020-06-26 09:48:23.380] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT DISTINCT tag FROM worktag WHERE work_spec_id=?"
8: [2020-06-26 09:48:23.379] [Pid:(23475)]prepare took 1ms - succeeded, sql="SELECT DISTINCT tag FROM worktag WHERE work_spec_id=?"
9: [2020-06-26 09:48:22.780] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT long_value FROM Preference where key=?"
10: [2020-06-26 09:48:22.779] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT long_value FROM Preference where key=?"
11: [2020-06-26 09:48:22.762] [Pid:(23475)]executeForChangedRowCount took 0ms - succeeded, sql="PRAGMA recursive_triggers='ON';"
12: [2020-06-26 09:48:22.762] [Pid:(23475)]executeForChangedRowCount took 0ms - succeeded, sql="PRAGMA temp_store = MEMORY;"
13: [2020-06-26 09:48:22.761] [Pid:(23475)]executeForChangedRowCount took 0ms - succeeded, sql="PRAGMA foreign_keys = ON"
14: [2020-06-26 09:48:22.755] [Pid:(23475)]executeForCursorWindow took 6ms - succeeded, sql="SELECT identity_hash FROM room_master_table WHERE id = 42 LIMIT 1"
15: [2020-06-26 09:48:22.755] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT identity_hash FROM room_master_table WHERE id = 42 LIMIT 1"
16: [2020-06-26 09:48:22.754] [Pid:(23475)]executeForCursorWindow took 0ms - succeeded, sql="SELECT 1 FROM sqlite_master WHERE type = 'table' AND name='room_master_table'"
17: [2020-06-26 09:48:22.754] [Pid:(23475)]prepare took 0ms - succeeded, sql="SELECT 1 FROM sqlite_master WHERE type = 'table' AND name='room_master_table'"
18: [2020-06-26 09:48:22.750] [Pid:(23475)]executeForLong took 0ms - succeeded, sql="PRAGMA user_version;"
19: [2020-06-26 09:48:22.750] [Pid:(23475)]executeForLong took 0ms - succeeded, sql="PRAGMA wal_autocheckpoint=100"
Acquired connections:
Connection waiters:
```
06-26 09:48:27.960 13871 4874 W System.err: stat failed: ENOENT (No such file or directory) : /data/user/0/com.google.android.gms/app_en_diagnosis_keys/1593157707970/export0.bin
06-26 09:48:27.980 13871 4874 E AsyncOperation: serviceID=236, operation=ProvideDiagnosisKeysOperation
this would indicate an error during the GMS Operation as they somehow have no export file anymore.
I used adb only once or twice on my Vernee Thor (Android 6.0), but I downloaded the latest version (platform-tools_r30.0.3-windows) for my Win 10 and tried it.
Not much luck because I barely know what I'm doing, but maybe others can help. If I should try something else, let me know.
adb devices
works and shows that my device is connected.
adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en\|\[Container\]'
doesn't work. It says "Der Befehl "grep" ist entweder falsch geschrieben oder konnte nicht gefunden werden."
adb bugreport D:\adb-report
doesn't work (I made sure to create a directory with that name). It says:
Failed to get bugreportz version: 'bugreportz -v' returned '/system/bin/sh: bugreportz: not found' (code 0).
If the device does not run Android 7.0 or above, try 'adb bugreport' instead.
adb bugreport
spams a million lines of text on the screen, but it doesn't get saved to a file anywhere as far as I can see, and when reaching the end, you can't scroll back far enough to read or copy the beginning in the cmd box.
edit:
Thanks, @aurisnoctis
As advised, I did it without the grep command and searched manually, and got this:
com.google.android.gms [202117020] [20.21.17 (040406-316502805)] [Container]
com.google.android.gms.nearby_en [v202304013]
Same issue on the Honor 6: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
Appeared once yesterday but was able to recover after an app restart; since today the error occurs at every app start. Reinstalling didn't help.
Edit: Output of adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep 'nearby_en\|\[Container\]'
com.google.android.gms [202117018] [20.21.17 (040308-316502805)] [Container]
com.google.android.gms.nearby_en [v202304013]
My (roughly cleaned up) output of adb logcat *:V: https://gist.github.com/kryops/49a96808e16c7bb22678e978f0373140
Okay, could you give us some more details of your devices via ADB? Concretely, we would like to know the GMS Version.
com.google.android.gms [202117021] [20.21.17 (040408-316502805)] [Container]
com.google.android.gms.nearby_en [v202304013]
GMS version and Google Play Services version see Update in comment https://github.com/corona-warn-app/cwa-app-android/issues/737#issuecomment-650144069
@Tj20
"Der Befehl "grep" ist entweder falsch geschrieben oder konnte nicht gefunden werden."
grep is a standard shell command in Linux. I cannot help you with a replacement in Windows for grep, but all that grep does is search through text so you could omit it and just execute the command without grep:
adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider
Without grep I get about 700 lines of text as output. Transfer the text to any text editor and search for two lines:
nearby_en[Container]@jakobmoellersap Thank you for your brief analysis.
06-26 09:48:27.960 13871 4874 W System.err: stat failed: ENOENT (No such file or directory) : /data/user/0/com.google.android.gms/app_en_diagnosis_keys/1593157707970/export0.bin
06-26 09:48:27.980 13871 4874 E AsyncOperation: serviceID=236, operation=ProvideDiagnosisKeysOperationthis would indicate an error during the GMS Operation as they somehow have no export file anymore.
Which means you have to contact Google about it?
@jakobmoellersap @aurisnoctis can confirm that when this error occurs there is not enough export files created internally in GMS.
root@titan_umtsds:/data/data/com.google.android.gms/app_en_diagnosis_keys #
ls -la | tail
drwx------ u0_a16 u0_a16 2020-06-26 17:22 1593184957172
drwx------ u0_a16 u0_a16 2020-06-26 17:22 1593184957368
drwx------ u0_a16 u0_a16 2020-06-26 17:22 1593184957559
drwx------ u0_a16 u0_a16 2020-06-26 17:23 1593185019079
drwx------ u0_a16 u0_a16 2020-06-26 17:23 1593185019294
drwx------ u0_a16 u0_a16 2020-06-26 17:23 1593185019493
drwx------ u0_a16 u0_a16 2020-06-26 17:36 1593185793108
drwx------ u0_a16 u0_a16 2020-06-26 17:36 1593185793401
drwx------ u0_a16 u0_a16 2020-06-26 17:36 1593185793530
drwx------ u0_a16 u0_a16 2020-06-26 17:40 1593186001570
This is after 3 successful queries to EN framework, and 1 failed with error 10. For the first 3 there are 3 directories, and for the failed one there is only one directory created.
When the error 10 occurs the app cache is empty, despite it making 3 successful calls to /date endpoint (as monitored with mitm):
root@titan_umtsds:/data/data/de.rki.coronawarnapp/cache/key-export # ls
root@titan_umtsds:/data/data/de.rki.coronawarnapp/cache/key-export #
When there is no error the files actually exist:
root@titan_umtsds:/data/data/de.rki.coronawarnapp/cache/key-export # ls -la
-rw------- u0_a130 u0_a130 21543 2020-06-26 18:03 0adc8815-f8a0-39cc-a022-f366c51819f9.zip
-rw------- u0_a130 u0_a130 9768 2020-06-26 18:03 1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip
-rw------- u0_a130 u0_a130 13631 2020-06-26 18:03 81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip
Could it be that Android cleans up this cache before EN framework has a chance to digest it (I have about 4GB of space free)? Or maybe paths land in internal DB which holds these paths, but files are not actually written to key-export? Would it be a good idea to check if files exist before calling provideDiagnosisKeys?
@kbobrowski Thanks for pointing that out. As far as I can tell, we actually do check if the file references exist before giving them into the API. The main logic to retrieve files is located in https://github.com/corona-warn-app/cwa-app-android/blob/dev/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CachedKeyFileHolder.kt
There we can see that file references are loaded in only if the File exists, as getFilesFromEntries explicitly checks for the File Existence to ensure this never happens in https://github.com/corona-warn-app/cwa-app-android/blob/dev/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/keycache/KeyCacheRepository.kt
Also in before retrieving the files, we do deleteOutdatedEntries which should ensure no file reference is given to the API that is invalid.
The Files out of this Call are later used for provideDiagnosisKeys. What is also interesting is that technically the files in GMS should be different from the files we provide as we only give in ZIP Files while GMS handles the binary data.
@jakobmoellersap this is strange error then, it seems to have something to do with missing files in key-export, but if there is a file missing then provideDiagnosisKeys should throw 39506...
creating default exposure configuration
looking for en instance
found en instance
provideDiagnosisKeys(
keys=[/data/local/tmp/some-fake-path.zip]
conf=ExposureConfiguration<minimumRiskScore: 4, attenuationScores: [4, 4, 4, 4, 4, 4, 4, 4], attenuationWeight: 50, daysSinceLastExposureScores: [4, 4, 4, 4, 4, 4, 4, 4], daysSinceLastExposureWeight: 50, durationScores: [4, 4, 4, 4, 4, 4, 4, 4], durationWeight: 50, transmissionRiskScores: [4, 4, 4, 4, 4, 4, 4, 4], transmissionRiskWeight: 50, durationAtAttenuationThresholds: [50, 74]>
token=rrandomtoken1337
)
on failure listener: com.google.android.gms.common.api.ApiException: 39506: No such file or directory
Exactly my thought. I think at the time the files are given to the API, the files exist (at least they formally exist if we can trust File.exists()). I would expect either a proper GMS Error Code or a file related error, but no SSL Pipe Breakdown because the Security Provider doesn't find a file to run a Public Key Verification on. Really strange behavior together with your observation. Could it have something to do with the permissions for reading files in the App Sandbox?
This is also not strictly security-related as this should instead result in a read SecurityException (https://developer.android.com/reference/java/io/File#exists())
Files shortly appear, but they are quickly deleted (they exist less than 1 second), so I guess File::exists returns true but they are being deleted as EN framework is in the process of unpacking it and validating signature... error 10 follows
root@titan_umtsds:/data/data/de.rki.coronawarnapp # ls cache/key-export/
root@titan_umtsds:/data/data/de.rki.coronawarnapp # ls cache/key-export/
root@titan_umtsds:/data/data/de.rki.coronawarnapp # ls cache/key-export/
0adc8815-f8a0-39cc-a022-f366c51819f9.zip
1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip
81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip
root@titan_umtsds:/data/data/de.rki.coronawarnapp # ls cache/key-export/
root@titan_umtsds:/data/data/de.rki.coronawarnapp # ls cache/key-export/
root@titan_umtsds:/data/data/de.rki.coronawarnapp # ls cache/key-export/
by the way: this deletion happens rarely, every couple of runs
Could Android be messing something up here? I don't see a place in the code which could delete it, especially since I'm starting from empty key-export. From the docs of getCacheDir:
The system will automatically delete files in this directory as disk space is needed elsewhere on the device. The system will always delete older files first, as reported by File#lastModified(). If desired, you can exert more control over how files are deleted using StorageManager#setCacheBehaviorGroup(File, boolean) and StorageManager#setCacheBehaviorTombstone(File, boolean).
Apps are strongly encouraged to keep their usage of cache space below the quota returned by StorageManager#getCacheQuotaBytes(java.util.UUID). If your app goes above this quota, your cached files will be some of the first to be deleted when additional disk space is needed. Conversely, if your app stays under this quota, your cached files will be some of the last to be deleted when additional disk space is needed.
Note that your cache quota will change over time depending on how frequently the user interacts with your app, and depending on how much system-wide disk space is used.
Adding this to implementation would be really useful to debug these issues: setCacheBehaviorTombstone - if the file gets deleted by the system then it will still exist but with zero bytes, and then we have a way to check if this behavior occurred
de.rki.coronawarnapp is removing these files. It happens sometimes, if it does not happen then there is no error
/* TID 0x4ebe */
33115 ms open(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip", flags=0x241)
/* TID 0x50ef */
33116 ms open(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip", flags=0x241)
/* TID 0x4ebf */
33116 ms open(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip", flags=0x241)
/* TID 0x4fc1 */
33311 ms open(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip", flags=0x0)
33783 ms open(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip", flags=0x0)
/* TID 0x4e7b */
33877 ms remove(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip")
33878 ms remove(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip")
33878 ms remove(pathname="/data/user/0/de.rki.coronawarnapp/cache/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip")
We can see here that 3 files are open for writing - this is downloading, then EN framework opens 2 files for reading, this is also reflected in the fact that only 2 internal dirs are created:
root@titan_umtsds:/data/data/com.google.android.gms/app_en_diagnosis_keys #
ls -la | tail -n 3
drwx------ u0_a16 u0_a16 2020-06-26 20:00 1593194401632
drwx------ u0_a16 u0_a16 2020-06-26 20:14 1593195242205
drwx------ u0_a16 u0_a16 2020-06-26 20:14 1593195242709
Then removing kicks and error is thrown
Okay, this will take a bit to verify. But from what we can see here, either we should move to data store instead of cache as an implementation detail to make sure this never happens (as we do our own "caching" behavior) or we manage to find out the root cause why the files are deleted so fast in the first place. Your insight is extremely valuable @kbobrowski, thank you!
I've hooked into File.delete() and printed stack trace of a call which deletes Diagnosis Keys, looks like it is triggered by KeyCacheRepository.clear():
dalvik.system.VMStack.getThreadStackTrace(Native Method)
java.lang.Thread.getStackTrace(Thread.java:580)
java.io.File.delete(Native Method)
de.rki.coronawarnapp.storage.keycache.KeyCacheRepository.clear(KeyCacheRepository.kt:10)
de.rki.coronawarnapp.storage.keycache.KeyCacheRepository$clear$1.invokeSuspend(KeyCacheRepository.kt)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:2)
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
android.os.Handler.handleCallback(Handler.java:746)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:148)
android.app.ActivityThread.main(ActivityThread.java:5443)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
in the end this deleting of files may be completely unrelated to the source of the problem - If I understand this correctly in case some error is raised by EN framework then rollback() in the transaction will be called, which will delete all files, calling KeyCacheRepository.clear()
Again, correct. If the behavior is as we expect the CWA clear should only happen after the files are actually deleted by the cache operation. Our clear also removes them from our cached references which should prevent an API call with these files.
yes, I've modified File.delete() so it does not delete diagnosis keys under any circumstances and they are still there after the error, so definitely unrelated
Was able to isolate this problem only to provideDiagnosisKeys, fails randomly:
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip])
on success listener: null
on success listener: null
on success listener: null
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip])
on success listener: null
on success listener: null
on success listener: null
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip])
on success listener: null
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip])
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on success listener: null
on success listener: null
Between each run app is re-spawned, files are not touched. Will let Google know since it seems to be unrelated to CWA.
Possible workaround seems to be to just retry calling provideDiagnosisKeys in case of this exception - hopefully if the exception is raised then quota is not taken. It's quite serious issue since if this frequency is typical (1 exception per 6 calls on average), then soon on some devices this exception will be raised with almost every batch of files being submitted.
Same on P8 lite of my mom. Android 6.0.
I am not an android user, so I do not know how to provide further infos. however, I wanted to let you know that the bug occurred. Attached all infos and stats I could found. If I can help with providing any further info, please ket me now.
Error message


System information

The error occurs every morning with every start of the app until the daily connection to get the current keys is finished. After that I have silence for the rest of the day.
06-27 08:49:02.600 7808-6806/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.601 7808-6806/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@2042710 created [CONTEXT service_id=236 ]
06-27 08:49:02.605 7808-6806/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@2042710 closed [CONTEXT service_id=236 ]
06-27 08:49:02.629 7808-6806/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.668 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.668 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@f2fbc0e created [CONTEXT service_id=236 ]
06-27 08:49:02.671 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@f2fbc0e closed [CONTEXT service_id=236 ]
06-27 08:49:02.672 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.677 7808-7468/? I/ExposureNotification: [MatchingTracer: requestId=1593240542518, package=...rki.coronawarnapp] Starting matching job. [CONTEXT service_id=236 ]
06-27 08:49:02.678 7808-7468/? I/ExposureNotification: [MatchingTracer: requestId=1593240542518, package=...rki.coronawarnapp] Java pre-filter started. [CONTEXT service_id=236 ]
06-27 08:49:02.678 7808-7468/? I/ExposureNotification: ThreadSafeLevelDbWrapper:contact-tracing-contact-record-db instance btz@32f8b1a created [CONTEXT service_id=236 ]
06-27 08:49:02.751 7808-10217/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.751 7808-10217/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@7bc564b created [CONTEXT service_id=236 ]
06-27 08:49:02.751 7808-10217/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@7bc564b closed [CONTEXT service_id=236 ]
06-27 08:49:02.752 7808-10217/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.790 7808-6806/? E/AsyncOperation: serviceID=236, operation=ProvideDiagnosisKeysOperation
OperationException[Status{statusCode=Unable to validate key file signature: Pipe is closed, resolution=null}]
at bnt.a(:com.google.android.gms.policy_nearby@[email protected]:187)
at azi.run(:com.google.android.gms.policy_nearby@[email protected]:11)
at ddp.run(:com.google.android.gms.policy_nearby@[email protected]:2)
at avl.b(:com.google.android.gms.policy_nearby@[email protected]:12)
at avl.run(:com.google.android.gms.policy_nearby@[email protected]:7)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at stk.run(:com.google.android.gms@[email protected] (040408-316502805):0)
at java.lang.Thread.run(Thread.java:818)
06-27 08:49:02.791 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do open LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.791 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@d7a9941 created [CONTEXT service_id=236 ]
06-27 08:49:02.794 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper:en-matching-request-db instance btz@d7a9941 closed [CONTEXT service_id=236 ]
06-27 08:49:02.794 7808-7808/? I/ExposureNotification: ThreadSafeLevelDbWrapper: do close LevelDb en-matching-request-db [CONTEXT service_id=236 ]
06-27 08:49:02.799 7808-7817/? I/art: Background sticky concurrent mark sweep GC freed 231980(14MB) AllocSpace objects, 67(1336KB) LOS objects, 29% free, 33MB/46MB, paused 2.251ms total 106.113ms
06-27 08:49:02.843 25436-25436/? W/System.err: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
06-27 08:49:02.844 25436-25436/? W/System.err: at android.support.v4.media.MediaDescriptionCompatApi21$Builder.setResultOrApiException(MediaDescriptionCompatApi21.java:3)
06-27 08:49:02.844 25436-25436/? W/System.err: at com.google.android.gms.internal.nearby.zzae.onResult(com.google.android.gms:play-services-nearby@@18.0.2-eap:2)
06-27 08:49:02.844 25436-25436/? W/System.err: at com.google.android.gms.common.api.internal.IStatusCallback$Stub.zaa(com.google.android.gms:play-services-base@@17.3.0:2)
06-27 08:49:02.844 25436-25436/? W/System.err: at com.google.android.gms.internal.base.zaa.onTransact(com.google.android.gms:play-services-base@@17.3.0:3)
06-27 08:49:02.844 25436-25436/? W/System.err: at android.os.Binder.execTransact(Binder.java:453)
Possible workaround is to simply retry calling provideDiagnosisKeys until it succeeds:
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/0adc8815-f8a0-39cc-a022-f366c51819f9.zip])
provideDiagnosisKeys(keys=[/data/local/tmp/key-export/1c3216d6-c5c5-3727-86f5-7ce6bcd16060.zip])
on success listener: null
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
retrying provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
retrying provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
on success listener: null
We are in contact with Google about this and will update here once we decided on the way forward. This is not gonna affect your key generation inside EN and will lead to temporary failures of the Risk Status Resolvement. We hope to have this fixed in the next week.
We are in contact with Google about this and will update here once we decided on the way forward. This is not gonna affect your key generation inside EN and will lead to temporary failures of the Risk Status Resolvement. We hope to have this fixed in the next week.
I appreciate your open communication in this Issue.
What do you think about communicating with Google via a linked Github Issue?
@kbobrowski With the way the current API call is behaving, it is hard to differentiate the error cause of an API Exception. Also as of right now, your proposed PR is only checking for an API Exception which could in theory be anything (not just 10). Also while this workaround might be a "solution" for now, we have to think of a way forward. This should never be the default behavior of the API and simply retrying can and will lead to more problems due to tech debt and maybe this even results in Quota failure as a call to provideDiagnosisKeys should in theory always result in quota reduction as far as I understand the API. I do agree that the issue is getting more and more pressing with each day a key package is present, up to 14 packages max.
@gitbrueck we first want to achieve a common idea of what we want to achieve and resolve before going for public communication in this matter, as any information that we share here could mislead users.
Quick question:
My app seems to have stopped working at all now, because of the error mentioned here. It says: "Risiko-Ermittlung nicht möglich, Ihre Risiko-Ermittlung konnte seit mehr als 24 Stunden nicht aktualisiert werden"
I'm sure that this bug will get fixed eventually, so I'll just wait and see.
I'm just wondering: Should I keep the app running for now, or does it not do anything at all anymore in this state, so there's no benefit of keeping the app running and Bluetooth on at the moment?
Please keep the App running. As mentioned above, your key generation and the possibility to warn others are not affected.
Thanks, I see!
@jakobmoellersap right, this is definitely not a good final solution. Agree that this should never be the behavior of the API.
The rationale for this PR is based on:
provideDiagnosisKeys then there is no change in execution at all, as it will break out of the loop after first tryprovideDiagnosisKeys - at most it failed two times in a row for meTotally agree @kbobrowski.
So I will follow-up as soon as I have a decision on our side on how we want to proceed but I want to make a few things clear:
If we do not find a solution fast enough in the next few days we will go ahead and workaround (possibly with a retry solution or something that combines multiple approaches).
Here is another device with the problem, which worked 9 days fine:
App Version: 1.0.4
Android Version: Android 6.0
Device Model and Manufacturer: Honor 7
Latest OS Update:?
Latest Update of CWA: 27.06.20
Installation Date of CWA: 27.06.20
Date/Time of the error: 27.06.20 / 10:00 am

The error will appear sporadically and is not persistent from what we know so far. Please only post stack trace information or pictures in case you do not find the same error in this thread. Thanks everyone!
@jakobmoellersap it does not seem to take quota if there is an error, at least not when 39506: No such file or directory is raised, tried calling it 32 times, first time with real path, 30 times with fake path and last time with real path again:
call number 1: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
call number 2: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/does-not-exist.zip])
call number 3: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/does-not-exist.zip])
call number 4: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/does-not-exist.zip])
call number 5: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/does-not-exist.zip])
on failure listener: com.google.android.gms.common.api.ApiException: 39506: No such file or directory
on failure listener: com.google.android.gms.common.api.ApiException: 39506: No such file or directory
on failure listener: com.google.android.gms.common.api.ApiException: 39506: No such file or directory
(...)
on success listener: null
(...)
call number 31: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/does-not-exist.zip])
on failure listener: com.google.android.gms.common.api.ApiException: 39506: No such file or directory
call number 32: provideDiagnosisKeys(keys=[/data/local/tmp/key-export/81a2d7a0-6d15-31eb-b89b-8b648347aaaa.zip])
on failure listener: com.google.android.gms.common.api.ApiException: 39506: No such file or directory
on success listener: null
When you called the method, did you use a whitelisted device? Then, the limit would be set way higher
Sorry correction - the quota is not taken if the file does not exist, but it is taken in case of error 10 - after exactly 20 calls there is 39508 error, regardless of whether these calls were successful or throwing error 10. I'm not whitelisted
on success listener: null
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on success listener: null
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on success listener: null
on success listener: null
on success listener: null
on success listener: null
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on failure listener: com.google.android.gms.common.api.ApiException: 10: Unable to validate key file signature: Pipe is closed
on failure listener: com.google.android.gms.common.api.ApiException: 39508:
on failure listener: com.google.android.gms.common.api.ApiException: 39508:
on failure listener: com.google.android.gms.common.api.ApiException: 39508:
Got it. This would actually be great for us, this means that your retry solution is a valid workaround. I will check this again with a colleague to make sure we don't miss anything and if everything goes okay we will have a hotfix while working on a final solution in parallel. Since this is such a sensitive part of the application we do not want to introduce more error potential with this.
Edit: Nevermind, read that post too fast. My bad. In case we influence the rate limiting with this error, any retry is dangerous and we need to avoid this.
Unfortunately retry solution may result in exceeded quota, since error 10 is taking the quota. But if it happens rarely and requires just couple of retries, then it should fit in 20 calls even with 14 diagnosis keys. I'm doing some further tests
@jakobmoellersap I can no longer reproduce this error if I put 10 second delay between calls to provideDiagnosisKeys
More detailed statistic of number of exceptions vs delay will follow
Here is a bug report for the API(39508) error, which occurs some time after error 10.
So far (since 12h) I could not get rid of it (phone on/off, reinstall app, toggle blue
I do not even see the error 10 anymore, I am blocked by too many bluetooth attempts.
39508 will be gone after one day since this is the Rate Limiting of the API which resets after 1 day.
If it would take long to remove this error by rolling out Play Services update then introducing 10 seconds delay seems to be solving this immediatelly

Im experiencing the same issue. My initial and possibly dumb reaction was reinstalling the app. Didnt think about the data getting wiped. Is the app able to resume my key chain(from some internal or Google based initial keys possibly) or is my chain of keys broken?
Im experiencing the same issue. My initial and possibly dumb reaction was reinstalling the app. Didnt think about the data getting wiped. Is the app able to resume my key chain(from some internal or Google based initial keys possibly) or is my chain of keys broken?
Your chain of keys is not broken. These are not stored by the app and deleting the app will not remove the keys. To do that, you have to explicitly remove them via the Settings for the Covid-19 Exposure Protocol.
Same issue for me on Honor 6: https://github.com/corona-warn-app/cwa-app-android/issues/602#issuecomment-650734091
Same issue with HTC One A9s, Android 6.0
Same issue with Honor 5x (KIW-L21), Android 6.0.1 after a few days without any error messages. I kept trying to get to the bottom of it (blaming my Huawei), I finally cleared the Google caches, updated the Google services and reinstalled the app. My data has been wiped: I am back to day 1 â which is not really an issue for me. After initial error messages, is seems to work fine, again. Thanks for looking into it.
Im experiencing the same issue. My initial and possibly dumb reaction was reinstalling the app. Didnt think about the data getting wiped. Is the app able to resume my key chain(from some internal or Google based initial keys possibly) or is my chain of keys broken?
Your chain of keys is not broken. These are not stored by the app and deleting the app will not remove the keys. To do that, you have to explicitly remove them via the Settings for the Covid-19 Exposure Protocol.
Thank you for clarifying that! Glad to see you built that in!
Same issue on Huawei ALE-L21 as well.
Same issue on Huawei p9 lite Android 6.0 (API 39508 bzw. API 10)
Update:
Yes, Error 39508 doesn't appear any longer.
Some stupid Question:
There are so many HUAWEI-Smartphones reporting Google-API-Error 10, so mine. I don't have Google Mobile Services (GMS) but Huawei Mobile Services (HMS) on my smartphone. Is there probablay any relation?
Same here Honor 7 Premium 32 GB (Android 6). The problem popped up yesterday morning but after a few hours it disappeared.
Since 4 days the error does not disappear and the app shows me the warning, that the "Risiko-Ermittlung" did not work since 25th of June. I reinstalled the app but nothing changed. In other words, the app is not useable at all on my smartphone :(
Seems to be the same here: CWA 1.0.4
Acer T04, Android 6.0, Kernel 3.18.19, not rooted,
mobile data connection switched off, WLan and Bluetooth switched on
without "Risiko-Ermittlung" (since 2020-06-26) useless
The same bug on a Huawei P8 (GRA-L09) / Android 6.0 / EMUI 4.0.3.
The app ran without errors for about 10 days; on 27.06. this error message appeared. After restarting the P8, the app was in the same state as when reinstalled. After that, error 9002 came up and I couldn't read much because the app crashed completely and was closed.
After deleting the app and reinstalling it I got "Error communicating with Google API(10) ..." again.
Same Bug here on my and my wifes phone, both are Huawei P8 Lite, looks like it was coming after update to 1.04.
Error is permanent, not sporatic.
Android 6.0
CWA lief problemlos ĂŒber 9 Tage bis 25. / 26. Juni. Danach verschiedene Fehlermeldungen z.B. Kommunikation mit Google API 10 unable to validate key file signature../ API 17... / .9002 .file is not a database .../ .Timeout...) Alle ProblemlösungsvorschlĂ€ge durchgearbeitet /aktualisieren/Daten+Cache löschen. Neustart. LĂ€ndereinstellung im PlayStore einstellen nicht möglich, da ich keine Zahlungsmittel hinterlegen will. Es stand in den Anleitungen, das der Google Mobile Service Updates durchfĂŒhrt. ABER: Auf meinem Huawei P8 (ALE-L21), sehe ich unter Apps keinen Google Mobile Service. Es gibt nur einen Huawei Mobile Service in meinen Apps. Nach mehreren Versuchen Neuinstallation CWA, dauerhaft sofort bei Start Fehler Ursache 3. Huawei P8 (ALE-L21), Android 6.0, EMUI 4.0.3
I think I have solved the problem - PipedInputStream.read(byte[] buffer) seems to be buggy, and the error happens when EK Export v1 is being validated - read(byte[] buffer) method sometimes reads less than 16 bytes. It seems that PipedInputStream.read() could be used instead.
Detailed description is here: https://github.com/kbobrowski/en-api-exception-10-debug#bug-description
After patching it I can no longer reproduce this error on my device even with very frequent call to provideDiagnosisKeys. But this would of course had to patched by Google and rolled out via Play Services update. As an intermediate solution it seems that if calls are separated by some delay then PipedInputStream.read(byte[] buffer) always behaves properly.
@kbobrowski Thanks for actively contributing. We are forwarding your information to Google and will see what happens. The problem with the delay is that we at max have 140 seconds delay, which would result in us having to change transaction timeouts as well as a really bad UX by default. I am currently thinking of a backoff multiplier solution on failure, but we did not decide on the way forward yet.
@HerbyR56 The Error 10 IS in fact sporadic, however as can be seen from the graphic provided above by @kbobrowski, the error probability can get so high that the error appears statistically in above 80% of all tries when querying with more than 10 packages (which for CWA is the case as we have over 10 day packages)
If you install the Corona App new, it never gets connected, so it's a permanent Error. We have this now since days, it's no more connecting. It says always "Unknown Risk2: then it says Error 3 (Google API 10), again and again, I'm Developer, so for me it's not sporatic, it's systematic.
And I got also sometimes The Error from Google API(39508), but this is sporatic
@HerbyR56 The Google API(39508) error is explained here, https://github.com/corona-warn-app/cwa-app-android/issues/774#issuecomment-650968797, and may follow other errors when the API is called too many times in vain, for instance while producing the Google API(10) error too many times.
Now receiving error âtimeoutâ https://drive.google.com/file/d/1BZ-H3Kr6AllXBGtSYmmj99D5hADFRcMw/view?usp=drivesdk
Hey everyone,
First of all, sorry for us being silent about this but there was quite some investigation going on. The issue is identified and actively being worked on in a joint effort and I will write here once a fix is ready. We are terribly sorry for the issues and trust concerns this causes and caused up until now and we will try to mitigate as fast as we responsibly can. Also special shoutout to @kbobrowski for his amazing work on reverse engineering GMS that gave us the heads-up into the right direction.
The Error will also resolve most rate-limiting problems (39508) once fixed, as the pipeline breakdown also caused the limit to be reached on retry.
Best Regards on behalf of the Android Team,
Jakob
@helga-engels you had a regular HTTP Timeout, please check your internet connection.
Thank you @jakobmoellersap for your effort and doing this fantastic work and to @kbobrowski who has identified the problem.
@helga-engels: If it's only a timeout I would expect an Error Message like "Timeout, redo it after some time" or so and not this Error, which looks like "General Error". We must take care, that people trust this App. We are on the way to loose the trust.
Hi I had a different problem (API(39508) and asked for technical support on the phone. They recommended to uninstall and reinstall which I did. Now I have the problem mentioned above error communicating with API(10). I am using Samsung Galaxy J7.
Hi I had a different problem (API(39508) and asked for technical support on the phone. They recommended to uninstall and reinstall which I did. Now I have the problem mentioned above error communicating with API(10).
I followed this hint. All data was lost and after one day I get error communicating with API(10).
This is not a good reputation for this app, I think. "Normal" users will refuse installing it when they read about the problems. See https://www.zeit.de/digital/2020-06/corona-warn-app-bugs-hinweise
I followed this hint. All data was lost and after one day I get error communicating with API(10).
Just a quick clarification: All APP data was lost, that means the number of active days and your current risk status. The Rolling Proximity Identifiers stored in the exposure log are not deleted when you reinstall that app, but you'd have to do that manually through the covid-19 exposure logging settings. As described here we will again clarify this w/ Google.
There is no software without bugs. But this is not the platform for complaining this, but for contributing to the solution with informations, error logs, ideas etc.âș
I just spoke to the technical support. They explained more about this API(10) as well as API(39508). It is not a problem with the app but with the communication system. Google is informed, as I was told, and there shall be a solution from google's side in the next few days.
Update to https://github.com/corona-warn-app/cwa-app-android/issues/737#issuecomment-650144069: Google API(10) error occurred again today, alternating with the Google (20) error until the Google API(39508) timeout error appears, documented here: https://github.com/corona-warn-app/cwa-app-android/issues/788#issuecomment-652871916
Update: API(10) error also occurred on 3 Jul 2020, but without API(20)
After deleting complete data (Google Play-Dienste, Corona-Warn) nevertheless permanent communication error API(10).
The focus seems to be on bugs in google play services, but they were not updated shortly before first appearance of error API(10). And the error is still remaining after deleting all data. What about bugs in server software?
Das ist doch echt einfach nur peinlich. Da wird massig Geld vom Staat in die App versenkt, das ganze dauert Monate wird als "DIE APP" schlechthin beworben von Politik und anderen.
Dann installiert man sich die App das ding lÀuft mal so mal so aber eher gar nicht sondern meldet permanent API 10 fehler.
Hat das eigentlich niemand getestet? Oder hat Google sich entschieden nachdem die App fertig war jetzt mal schnell was an der API zu Àndern damit die App nicht mehr sauber funktioniert?
Wurde anfangs nicht dafĂŒr geworben das die Leute vertrauen haben sollten ? Aber wie soll man einer App vertrauen die in keinster Weise das macht was sie soll?
Ernnsthaft das ding is kein Candy Crush zum rumdaddeln wo Bugs zwar Àrgerlich sind aber nich weiter problematisch.
@jakobmoellersap is there an approximate ETA from Google when they will fix their implementation? Preferably before the exposure keys start expiring.
Das ist doch echt einfach nur peinlich. Da wird massig Geld vom Staat in die App versenkt, das ganze dauert Monate wird als "DIE APP" schlechthin beworben von Politik und anderen.
Dann installiert man sich die App das ding lÀuft mal so mal so aber eher gar nicht sondern meldet permanent API 10 fehler.Hat das eigentlich niemand getestet? Oder hat Google sich entschieden nachdem die App fertig war jetzt mal schnell was an der API zu Àndern damit die App nicht mehr sauber funktioniert?
Wurde anfangs nicht dafĂŒr geworben das die Leute vertrauen haben sollten ? Aber wie soll man einer App vertrauen die in keinster Weise das macht was sie soll?Ernnsthaft das ding is kein Candy Crush zum rumdaddeln wo Bugs zwar Ă€rgerlich sind aber nich weiter problematisch.
Dear @crazyduck33 , even though we understand your anger, we kindly ask you to focus on the issue and not use the comments for unrelated discussions that do not help in getting this issue fixed. If we get more unrelated comments, we will have to lock the conversation and provide updates only when available.
Of course, this app has been tested intensively, and the actual development by SAP and Telekom only started beginning of may. The error occurred only in productive usage and was not present beforehand. Also while we this error occurs on some devices, it does not affect all of them and therefore does not render the app unusable for everybody.
To also answer @alois31 's question: no, we unfortunately do not have an ETA for the fix.
Dear @tkowark, the focus seems to be only on bugs in google play services, but these were not updated shortly before first appearance of error API(10). And the error is still remaining after deleting all data. What about bugs in server software?
As mentioned in https://github.com/corona-warn-app/cwa-app-android/issues/737#issuecomment-651970428 the issue is identified.
developers: Please clean-up by deleting all the useless comments like "some problem here" or destructive bullshit like @crazyduck33 's comment to make this issue readable (and of course my comment). After 103 comments this thread is almost unusable if you want to know the technical background.
As a retired software developer, I know that there is no software without errors. However the majority of users don't. They heard about the price (x millions) and are wondering why they get an app that doesn't work.
As this error is well known and because you and Google are working on it, you should release an update that displays an appropriate message in german, eg. "Dieser Fehler ist uns bereits bekannt, wir arbeiten hart daran! Bitte haben Sie Geduld und unternehmen Sie nichts. Insbesondere versuchen Sie nicht, die App erneut zu installieren. "
It is very urgent. Users wiÄșl refuse to install this app. See here:
https://www.bedienungsanleitung24.de/frage/corona-app-fehler-mit-google-api-10
I know about the beaurocratic obstacles to publish a new release or even hotfix but you will lose thousands or millions of users!
developers: Please clean-up by deleting all the useless comments like "some problem here" or destructive bullshit like @crazyduck33 's comment to make this issue readable (and of course my comment). After 103 comments this thread is almost unusable if you want to know the technical background.
As much as I would love to do that, simply deleting comments will also be taken very negatively (and please, watch your language).
I can only state again that the issue is identified: https://github.com/corona-warn-app/cwa-app-android/issues/737#issuecomment-651970428
Hence, we want to thank you all again for your input and will inform you when a fix is available. Until then, this discussion will be locked to avoid further derailing.
Thank you all again for your input. As we receive plenty confirmation that the error is gone with the latest Exposure Notification Framework version (https://www.coronawarn.app/de/faq/#ENF_version), we will accordingly close this issue.
If you still experience the issue despite running on the latest ENF version, please open a new issue in this repository!
Most helpful comment
There is no software without bugs. But this is not the platform for complaining this, but for contributing to the solution with informations, error logs, ideas etc.âș