-
-
Notifications
You must be signed in to change notification settings - Fork 464
Open
Labels
Description
Integration
sentry-android
Build System
Gradle
AGP Version
8.6.1
Proguard
Enabled
Version
8.11.1
Steps to Reproduce
Other environment details: Android 6
- Make the main app (when sentry installed) a system app. To achieve that, add
android:sharedUserId="android.uid.system"to the android manifest - Trigger an ANR in another app - can be just an example app that simply uses Thread.sleep in the main thread
- In the main app, we use Workmanager and some periodic workers, so the application eventually wakes up, then sleeps.
To simplify testing, I did something like in the main app:
viewModelScope.launch {
while (true) {
Timber.tag("ANR").i("isAnr=${ANRWatchDog.isProcessNotResponding}")
delay(5000)
}
}
Then, I opened another app which simply sleeps forever in onCreate.
This is happening because ANRWatchDog.isProcessNotResponding may return false positives for system apps. That's happening because for system app am.getProcessesInErrorState() may return processes that do not belong to the current app because of wider permissions. I was able to validate this by checking ActivityManager.ProcessErrorStateInfo.processName.
Expected Result
Main app doesn't report ANR from other apps
Actual Result
Main app does report ANR from other apps
Metadata
Metadata
Assignees
Labels
Projects
Status
No status