diff options
author | Mathieu Chartier <mathieuc@google.com> | 2016-03-10 10:49:35 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2016-03-10 11:42:11 -0800 |
commit | daed5d81e2fdb9d1e03ee6c34567347b92dcfb22 (patch) | |
tree | f27fb31f3ad5d6dc0a45f025fedf98c1a011c069 /compiler/optimizing/graph_visualizer.cc | |
parent | 8e213515077e11acdd664ec4a770a73e2f804863 (diff) |
Allocate interrupted exception before re-acquiring lock
Allocating the monitor exception after acquiring the lock can cause
a deadlock in the following scenario:
Reference queue daemon interrupted from wait() on
ReferenceQueue.class. Tries to allocate exception and starts a GC
that blocks on WaitForGcToComplete.
Some other thread is already doing a GC, and tries to enqueue the
cleared refereneces. This deadlocks trying to lock Reference.class
in ReferenceQueue.add.
Bug: 27508829
Change-Id: Icbc18b6b8d1e906c3f7413810d6cefdda06eb921
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions