Fix deadlock between PMS and UMS
Move scheduleWritePackageRestrictions() out of holding mLock to avoid deadlock. Symptom: At thread 1, PackageManagerService#snapshotComputer held mSnapshotLock ask mLock At thread 2, PackageManagerService#setEnabledSettings held mLock -> scheduleWritePackageRestrictions -> UserManagerService#exists ... --> UserManagerService#getUserInfoNoChecks ask mUsersLock of UserManagerService At thread 3, UserManagerService$LocalService#getProfileIdsExcludingHidden held mUsersLock -> getProfileIdsLU -> isProfileHidden -> getUserPropertiesCopy -> hasManageUsersPermission ... --> PackageManagerService#snapshotComputer ask mSnapshotLock Bug: 411582851 Flag: EXEMPT bugfix Test: atest CtsPackageInstallTestCases Change-Id: I974719832d612249e43e837e27e9d6f64601a5fd
Loading
Please register or sign in to comment