diff options
author | 2023-11-01 21:13:06 +0000 | |
---|---|---|
committer | 2023-11-01 22:27:13 +0000 | |
commit | 9312dad6d7e2680ac34bba413d915d73c471027c (patch) | |
tree | cf59471bdcdccc1b540e1833297eefeecf02b09d /compiler/common_compiler_test.cc | |
parent | 65c29bdb61a05fa9e9e7a1aff8daf3bd3069f233 (diff) |
Fix repeated dexopt when an app has a DM file with no profile.
This bug is triggered when the following conditions are all met:
- The app has a DM file that contains no profile.
- The app has an empty reference profile or no reference profile.
- The current profiles don't have enough entries to trigger a profile
merge.
In such a case, ART Service tries to use a profile from the DM file,
and profman unexpectedly returns 0 when processing the DM file, which
indicates that the DM file contains a non-empty profile, while it does
not. Then ART Service thinks that dexopt is needed because the app
should be "speed-profile", but there is actually no profile, so
dex2oat falls back to "verify". This is repeated on every bg-dexopt run.
The bug was introduced by r.android.com/2760747.
Bug: 308174155
Test: atest ArtGtestsTargetChroot:ProfileCompilationInfoTest
Change-Id: Ib91529760f4ea12729b3b8132a63b7e2da7dcbfa
Diffstat (limited to 'compiler/common_compiler_test.cc')
0 files changed, 0 insertions, 0 deletions