Skip to content

Commit 4221de4

Browse files
alexmarkovCommit Queue
authored andcommitted
[vm] Fix memory leak in Scavenger::Scavenge
``` Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x6281a99eb78d in operator new[](unsigned long) ../../../../../../llvm-llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:89:3 #1 0x6281a9e5ba7d in dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason) out/ReleaseASANX64/../../runtime/vm/heap/scavenger.cc:1890:33 #2 0x6281a9e29cfd in dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason) out/ReleaseASANX64/../../runtime/vm/heap/heap.cc:490:18 #3 0x6281a9e2680f in dart::Heap::CollectGarbage(dart::Thread*, dart::GCType, dart::GCReason) out/ReleaseASANX64/../../runtime/vm/heap/heap.cc:564:7 #4 0x6281a9e2680f in dart::Heap::AllocateNew(dart::Thread*, long) out/ReleaseASANX64/../../runtime/vm/heap/heap.cc:105:7 #5 0x6281a9bfe991 in dart::Heap::Allocate(dart::Thread*, long, dart::Heap::Space) out/ReleaseASANX64/../../runtime/vm/heap/heap.h:73:16 ``` Caused by https://dart-review.googlesource.com/c/sdk/+/426582. TEST=tools/build.py --sanitizer=asan -ax64 -mrelease runtime Change-Id: I8f863d53359fad07bcf9b30c8dd860c93b24c50f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/426900 Reviewed-by: Ivan Inozemtsev <[email protected]> Commit-Queue: Alexander Markov <[email protected]> Auto-Submit: Alexander Markov <[email protected]>
1 parent 8516bc1 commit 4221de4

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

runtime/vm/heap/scavenger.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1907,6 +1907,7 @@ void Scavenger::Scavenge(Thread* thread, GCType type, GCReason reason) {
19071907
bytes_promoted += visitor->bytes_promoted();
19081908
delete visitor;
19091909
}
1910+
delete[] visitors;
19101911

19111912
if (abort_) {
19121913
ReverseScavenge(&from);

0 commit comments

Comments
 (0)