diff options
author | Alex Light <allight@google.com> | 2020-02-19 14:46:33 -0800 |
---|---|---|
committer | Treehugger Robot <treehugger-gerrit@google.com> | 2020-02-22 02:35:07 +0000 |
commit | 725da8fb9665abfb9c9c6aaca147120e46381b2d (patch) | |
tree | 3d9540b88534e6ef8f049cd0935bb8f644362cde /compiler/optimizing/optimizing_compiler.cc | |
parent | e3de71cbb21332904316c37f00682e2f03e04783 (diff) |
Fix race between dex-file registration and class-loader deletion
We keep track of class-loaders by having a list with jweak references
to the dex-caches. When we register a new dex-file we check that the
dex-cache hasn't already been registered with a different
class-loader. We decoded the jweak and performed this check this
without any locks however meaning we could race with class-loader
cleanup. This could cause CHECK failures as we try to decode a deleted
jweak.
Bug: 147206162
Test: ./art/test/run-test --create-runner --host --prebuild --compact-dex-level fast --optimizing --no-relocate --runtime-option -Xcheck:jni 2001-virtual-structural-multithread
./art/tools/parallel_run.py
Change-Id: Ibeb12ec3d42f7972d09b155b7c24743266897a54
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
0 files changed, 0 insertions, 0 deletions