summaryrefslogtreecommitdiff
path: root/adbconnection
diff options
context:
space:
mode:
authorYi Kong <yikong@google.com>2018-01-09 16:55:04 -0800
committerYi Kong <yikong@google.com>2018-01-09 19:44:44 -0800
commite11d50f23dc1256ad933d209f2db8f58138f02c0 (patch)
tree9a02321fc6b464be78086d1cb966c0b000d3f1bc /adbconnection
parentea443af9fd561ee3c3649ec98cafe8ecda077371 (diff)
Workaround bogus Thread Safety Analysis warning
Building art/runtime/gc/heap.cc with thread safety analysis produces warnings that mutator_lock_->AssertNotHeld() conflicts with ScopedObjectAccess for holding shared and exclusive lock within the same scope. AssertNotHeld() is a capability assertion and does not actually hold the lock. Thread safety analysis was broken thus the warning not appearing before Clang r316199 update. Temporarily workaround the issue while we fix the bug in upstream. Bug: 71769596 Test: m checkbuild Change-Id: I48234db966332cf24e40774cd62589359aab6d05
Diffstat (limited to 'adbconnection')
-rw-r--r--adbconnection/adbconnection.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/adbconnection/adbconnection.cc b/adbconnection/adbconnection.cc
index a5c885a933..127792f6b4 100644
--- a/adbconnection/adbconnection.cc
+++ b/adbconnection/adbconnection.cc
@@ -484,7 +484,10 @@ bool AdbConnectionState::SetupAdbConnection() {
void AdbConnectionState::RunPollLoop(art::Thread* self) {
CHECK_EQ(self->GetState(), art::kNative);
- art::Locks::mutator_lock_->AssertNotHeld(self);
+ // TODO: Clang prebuilt for r316199 produces bogus thread safety analysis warning for holding both
+ // exclusive and shared lock in the same scope. Remove the assertion as a temporary workaround.
+ // http://b/71769596
+ // art::Locks::mutator_lock_->AssertNotHeld(self);
self->SetState(art::kWaitingInMainDebuggerLoop);
// shutting_down_ set by StopDebuggerThreads
while (!shutting_down_) {