After one of the recent GrapheneOS updates, the Tesco app will no longer open. It gives this message:

type: ANR
osVersion: google/cheetah/cheetah:14/UP1A.231105.003/2023111500:user/release-keys
package: com.tesco.grocery.view:19600200
process: com.tesco.grocery.view
installer: com.android.vending

activity: com.tesco.grocery.view/com.tesco.mobile.titan.splash.view.SplashActivity
cause: ANR Input dispatching timed out (eb75cca com.tesco.grocery.view/com.tesco.mobile.titan.splash.view.SplashActivity (server) is not responding. Waited 5000ms for FocusEvent(hasFocus=false))
info: ANR in com.tesco.grocery.view (com.tesco.grocery.view/com.tesco.mobile.titan.splash.view.SplashActivity)
PID: 28595
Reason: Input dispatching timed out (eb75cca com.tesco.grocery.view/com.tesco.mobile.titan.splash.view.SplashActivity (server) is not responding. Waited 5000ms for FocusEvent(hasFocus=false))
Parent: com.tesco.grocery.view/com.tesco.mobile.titan.splash.view.SplashActivity
ErrorId: a52e9a17-4e58-4ade-934b-93f9384cbd8b
Frozen: false

Does anyone else have this issue?

11 days later

I am getting the exact same error message above however instead of the osVersion above. Mine is
osVersion: google/raven/raven:14/UP1A.231105.003/2023112900:user/release-keys
and the installer is com.aurora.store

11 days later

I am also unable to open this app after one of the recent updates.

type: crash
osVersion: google/husky/husky:14/UQ1A.231205.015/2023120800:user/release-keys
package: com.tesco.grocery.view:19600200
process: com.tesco.grocery.view
processUptime: 0 + 0 ms
installer: com.android.vending

signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x0000006ca0f9e000

backtrace:
      #00 pc 0000000000036b3c  /data/app/~~fCBgH94cWm4c5hjnJDL8jg==/com.tesco.grocery.view-N1vqw6pV99FCgCDPzyCMAA==/split_config.arm64_v8a.apk!libpairipcore.so (offset 0xaa2000)
5 days later

Did you try exploit protection compatibility mode?

This app appears to be using a library to detect and forbid alternate operating systems (libpairipcore.so).

  • mmmm replied to this.

    It's also worth trying disabling secure app spawning and rebooting to see if the app is doing something strange involving checking the call stack.

    GrapheneOS slightly off topic, but as you mentioned it, can you shed any light on why on earth a developer would restrict an app in this way? Is it for perceived ‘security’ or is it due to something more sinister? This is exactly the type of practice that makes me stay away from certain apps, even though I don’t fully understand why they do it - it leaves a bad taste in my mouth that they do it.

      mmmm Clubcard is equivalent to ‘money’: you can exchange Clubcard points for money off groceries. Maybe they are afraid that somebody might manipulate the Clubcard state to generate extra credit or something? If it were me I’d just put all the checks in the backend and the app just do the same as the website. But maybe there’s extra stuff it does which is riskier?

      Please try with secure spawning enabled, exploit protection compatibility mode disabled and native debugging enabled.

      For me, I hated having all those Apps on my phone as much as I hated driving my partner's car as she has all the store cards mini keyrings on her Car keys.

      My solution was to use Catima on F-Droid. All your store cards, barcode gift vouchers, fuel cards in one place. If you wanted to see what offers Tesco had every now and then use the website which still have the card one click away

      With secure spawning disabled and exploit protection compatibility mode disabled the app will start. Is there a way to disable secure spawning on a per app basis? Or will I have to disable it manually every time I need to use this particular app?