From 9ff600f60a291de25b428b148cf4e668d6390986 Mon Sep 17 00:00:00 2001 From: Ryan Mitchell Date: Wed, 31 Mar 2021 08:49:24 -0700 Subject: [PATCH] Remove ApkAssets access in finalizer ResourcesProvider#finalize called ApkAssets#close. ApkAssets#close is called during ApkAssets#finalize. If a ResourcesProvider and its corresponding ApkAssets are finalized concurrently, there may be a chance that the ApkAsset could be finalized first and then ResourcesProvider calls ApkAssets#close on the object that has already been finalized. This may not fix the bug, but there is no reason to close the ApkAsset during finalization of the ResourcesProvider. Bug: 159041693 Test: none Change-Id: I317ca982df2e11a18ccd6c95c74565dbac417bd6 --- core/java/android/content/res/loader/ResourcesProvider.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/core/java/android/content/res/loader/ResourcesProvider.java b/core/java/android/content/res/loader/ResourcesProvider.java index 0a698d18682b9..463dcaced7233 100644 --- a/core/java/android/content/res/loader/ResourcesProvider.java +++ b/core/java/android/content/res/loader/ResourcesProvider.java @@ -284,11 +284,6 @@ public class ResourcesProvider implements AutoCloseable, Closeable { Log.w(TAG, "ResourcesProvider " + this + " finalized with non-zero refs: " + mOpenCount); } - - if (mOpen) { - mOpen = false; - mApkAssets.close(); - } } } }