From 547578c81ee714f8735d3884499954a99b9ca65b Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Tue, 13 Sep 2022 13:03:57 -0700 Subject: [PATCH] Move removePackageData to handler thread. It does a lot of heavy lifting and should not happen under package lock. Bug: 245997611 Fixes: 245997611 Test: presubmit + boots Change-Id: If6c044a31b2d22631a7d0ad57efcb9ea86955aa3 --- .../core/java/com/android/server/pm/InstallPackageHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index aef5f6cee4321..d20171024cd3d 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -3311,7 +3311,8 @@ final class InstallPackageHelper { if (disabledPs == null) { logCriticalInfo(Log.WARN, "System package " + packageName + " no longer exists; its data will be wiped"); - mRemovePackageHelper.removePackageData(ps, userIds, null, 0, false); + mInjector.getHandler().post( + () -> mRemovePackageHelper.removePackageData(ps, userIds, null, 0, false)); } else { // we still have a disabled system package, but, it still might have // been removed. check the code path still exists and check there's