Files
sdk/runtime/vm
Siva Annamalai 90750551f2 1. Avoid potential dead lock due to lock-order-inversion
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3448)
  Cycle in lock order graph: M206 (0x7b18000006c0) => M202 (0x7b0c00000ff0) => M206

  Mutex M202 acquired here while holding mutex M206 in thread T5:
    #0 pthread_mutex_lock <null> (dart+0x00000058e8ee)
    #1 dart::Mutex::Lock() /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/os_thread_linux.cc:274 (dart+0x0000009bd79b)
    #2 MutexLocker /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/lockers.h:61 (dart+0x00000074a007)
    #3 dart::FreeList::TryAllocate(long, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/freelist.cc:65 (dart+0x000000872d2c)
    #4 dart::PageSpace::TryAllocateInternal(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy, bool, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:392 (dart+0x0000009c0180)
    #5 dart::PageSpace::TryAllocate(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.h:195 (dart+0x000000877158)
    #6 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:92 (dart+0x000000876f45)
    #7 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)

  Mutex M206 acquired here while holding mutex M202 in thread T5:
    #0 pthread_mutex_lock <null> (dart+0x00000058e8ee)
    #1 dart::Monitor::Enter() /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/os_thread_linux.cc:380 (dart+0x0000009be02b)
    #2 MonitorLocker /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/lockers.h:139 (dart+0x000000722f17)
    #3 SweeperTask /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/gc_sweeper.cc:112 (dart+0x000000b3391f)
    #4 dart::GCSweeper::SweepConcurrent(dart::Isolate*, dart::HeapPage*, dart::HeapPage*, dart::FreeList*) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/gc_sweeper.cc:171 (dart+0x000000b336e6)
    #5 dart::PageSpace::MarkSweep(bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:952 (dart+0x0000009c1f6b)
    #6 dart::Heap::CollectOldSpaceGarbage(dart::Thread*, dart::Heap::ApiCallbacks, dart::Heap::GCReason) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:401 (dart+0x000000878e11)
    #7 dart::Heap::CollectAllGarbage() /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:444 (dart+0x000000877244)
    #8 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:102 (dart+0x000000876fac)
    #9 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)

2. Remove unsafe access to usage data for an insignificant ASSERT.
WARNING: ThreadSanitizer: data race (pid=7617)
  Atomic write of size 8 at 0x7b840000fdf0 by thread T4:
    #0 __tsan_atomic64_fetch_add <null> (dart+0x0000005b59e7)
    #1 dart::AtomicOperations::IncrementBy(long*, long) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/atomic_linux.h:30 (dart+0x00000076a235)
    #2 dart::PageSpace::TryAllocateInternal(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy, bool, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:398 (dart+0x0000009c0233)
    #3 dart::PageSpace::TryAllocate(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.h:195 (dart+0x000000877158)
    #4 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:82 (dart+0x000000876eec)
    #5 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)
    #6 dart::Object::Allocate(long, long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/object.cc:1866 (dart+0x00000092dd92)

  Previous read of size 8 at 0x7b840000fdf0 by thread T3:
    #0 dart::PageSpace::TryAllocateInternal(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy, bool, bool) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.cc:426 (dart+0x0000009c026b)
    #1 dart::PageSpace::TryAllocate(long, dart::HeapPage::PageType, dart::PageSpace::GrowthPolicy) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/pages.h:195 (dart+0x000000877158)
    #2 dart::Heap::AllocateOld(long, dart::HeapPage::PageType) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.cc:82 (dart+0x000000876eec)
    #3 dart::Heap::Allocate(long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/heap.h:67 (dart+0x00000092ab33)
    #4 dart::Object::Allocate(long, long, dart::Heap::Space) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/object.cc:1866 (dart+0x00000092dd92)
    #5 dart::StackMap::New(long, dart::BitmapBuilder*, long) /usr/local/google/home/asiva/workspace/dart-ws3/sdk/out/DebugX64/../../runtime/vm/object.cc:12164 (dart+0x00000096796a)

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2609643002 .
2017-01-05 11:27:10 -08:00
..
2016-11-08 13:54:47 -08:00
2016-09-23 13:06:14 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2017-01-03 10:39:14 +01:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-12-29 13:20:58 -08:00
2016-12-29 13:20:58 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-11 12:22:32 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-10-26 00:26:03 -07:00
2016-10-26 00:26:03 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-11 12:22:32 -08:00
2016-11-11 12:22:32 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2017-01-03 14:33:16 +01:00
2017-01-03 14:33:16 +01:00
2017-01-03 14:33:16 +01:00
2017-01-03 14:33:16 +01:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2017-01-03 14:33:16 +01:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 14:35:00 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-10-26 00:26:03 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-12-23 11:39:23 +01:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-10-26 00:26:03 -07:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00
2016-11-08 13:54:47 -08:00