From b1c9cc744250addfee1d09ade8946162f7526bf4 Mon Sep 17 00:00:00 2001 From: Arun Goyal Date: Thu, 15 Jun 2023 15:57:59 +0530 Subject: Device stuck in boot due to ArrayIndexOutOfBoundsException Problem: { //frameworks/base/services/core/java/com/android/server/pm/Installer.java final CreateAppDataResult[] results = installer.createAppDataBatched(args); // createAppDataBatched() return empty E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: PackageManager E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 E AndroidRuntime: at com.android.server.pm.Installer$Batch.execute(Installer.java:419) E AndroidRuntime: at com.android.server.pm.AppDataHelper.executeBatchLI(AppDataHelper.java:167) E AndroidRuntime: at com.android.server.pm.AppDataHelper.prepareAppDataPostCommitLIF(AppDataHelper.java:162) Bug : https://partnerissuetracker.corp.google.com/issues/284269814 } Solution: { Handling ArrayIndexOutOfBoundsException by changing size of loop from args.length to results.length } Bug: 284269814 Change-Id: I88678483ec2a6c6dbc46d12375affd62da64d140 Signed-off-by: Arun Goyal --- services/core/java/com/android/server/pm/Installer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java index a078b5d4e8b1..e826bf1474f7 100644 --- a/services/core/java/com/android/server/pm/Installer.java +++ b/services/core/java/com/android/server/pm/Installer.java @@ -390,7 +390,7 @@ public class Installer extends SystemService { args[j] = mArgs.get(i + j); } final CreateAppDataResult[] results = installer.createAppDataBatched(args); - for (int j = 0; j < args.length; j++) { + for (int j = 0; j < results.length; j++) { final CreateAppDataResult result = results[j]; final CompletableFuture future = mFutures.get(i + j); if (result.exceptionCode == 0) { -- cgit v1.2.3-59-g8ed1b