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 <arungoyalag@gmail.com>
This commit is contained in:
@@ -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<Long> future = mFutures.get(i + j);
|
||||
if (result.exceptionCode == 0) {
|
||||
|
||||
Reference in New Issue
Block a user