IndexedDB Memory Leak
Reported by
joe.ju...@gmail.com,
Feb 13 2017
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0 Steps to reproduce the problem: 1. Open attached file 2. Let it run for a few minutes 3. Aww, snap What is the expected behavior? Page should run indefinitely. It is essentially a stress test of IndexedDB. It creates a large string and repeatedly stores and retrieves the string from an IndexedDB store. What went wrong? I suspect BlinkGC is involved somehow. It seems like garbage collection isn't kicking in at the right moment. This test fails on Windows 10 Chrome 55 32/64 bit, Windows 10 Chrome 56 32/64 bit, and Windows 7 Chrome 56 32 bit. It ran for several hours successfully without failing on a fresh Windows 7 Pro VM running Chrome 56 32 bit. So memory fragmentation may be involved or this bug may not affect fresh installs of Chrome. Firefox can run the test indefinitely. Safari on macOS can run it for a long time, but the memory usage does slowly climb so it looks like it has a leak as well. This may be related to https://bugs.chromium.org/p/chromium/issues/detail?id=533648 or https://bugs.chromium.org/p/chromium/issues/detail?id=612525. Did this work before? N/A Does this work in other browsers? N/A Chrome version: 56.0.2924.87 (Official Build) (32-bit) Channel: stable OS Version: 10.0 Flash Version: Profiling JS heap memory usage with the Developer Tools shows that there is no increase in memory usage over the course of the test
,
Feb 13 2017
Can you please attach the file?
,
Feb 13 2017
Here's the test.
,
Feb 13 2017
Received signal 4 ILL_ILLOPN 7f7eda7729e0 #0 0x7f7eded58df7 base::debug::StackTrace::StackTrace() #1 0x7f7eded5897f base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7f7edea85330 <unknown> #3 0x7f7eda7729e0 WTF::partitionsOutOfMemoryUsing2G() #4 0x7f7eda7727e9 WTF::Partitions::handleOutOfMemory() #5 0x7f7edee0da02 base::partitionOutOfMemory() #6 0x7f7edee0d9d1 base::PartitionAllocSlowPath() #7 0x7f7eda772659 WTF::PartitionAllocator::allocateBacking() #8 0x7f7ed955558c WTF::Vector<>::expandCapacity() #9 0x7f7ed9552865 blink::SerializedScriptValue::toWireBytes() #10 0x7f7ed8b67b94 blink::IDBObjectStore::put() #11 0x7f7ed8b67214 blink::IDBObjectStore::put() #12 0x7f7ed8963f19 blink::V8IDBObjectStore::putMethodCallback() #13 0x3e365e609b2b <unknown> r8: 00000000ffffffff r9: 0000000000000000 r10: 0000000000000022 r11: 0000000000000246 r12: 0000000000801000 r13: 007ffffffffff000 r14: 0000000000801000 r15: 00007f7eda7a9d18 di: 00007ffd89db7728 si: 0000000000805000 bp: 0000000000000000 bx: 0000000000000000 dx: 0000000000000003 ax: 0000000080000000 cx: 00000003b80a9000 sp: 00007ffd89db7720 ip: 00007f7eda7729e0 efl: 0000000000010202 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace]
,
Feb 14 2017
,
Feb 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e7d64d6da7a8f523925a5ed80c3aea74859516e7 commit e7d64d6da7a8f523925a5ed80c3aea74859516e7 Author: dmurph <dmurph@chromium.org> Date: Tue Feb 14 05:27:57 2017 IndexedDB: Added external memory counting for IDBValue. Should also fix https://code.google.com/p/chrome-os-partner/issues/detail?id=62731 R=cmumford@chromium.org BUG= 691607 , 690517 Review-Url: https://codereview.chromium.org/2691163002 Cr-Commit-Position: refs/heads/master@{#450265} [modify] https://crrev.com/e7d64d6da7a8f523925a5ed80c3aea74859516e7/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp [modify] https://crrev.com/e7d64d6da7a8f523925a5ed80c3aea74859516e7/third_party/WebKit/Source/modules/indexeddb/IDBValue.cpp [modify] https://crrev.com/e7d64d6da7a8f523925a5ed80c3aea74859516e7/third_party/WebKit/Source/modules/indexeddb/IDBValue.h
,
Feb 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/13f276974efcdd1ad51b549be0c523a9ac2b6dfa commit 13f276974efcdd1ad51b549be0c523a9ac2b6dfa Author: Grace Kihumba <gkihumba@google.com> Date: Tue Feb 14 06:13:44 2017 IndexedDB: Added external memory counting for IDBValue. Should also fix https://code.google.com/p/chrome-os-partner/issues/detail?id=62731 R=cmumford@chromium.org BUG= 691607 , 690517 Review-Url: https://codereview.chromium.org/2691163002 Cr-Commit-Position: refs/heads/master@{#450265} (cherry picked from commit e7d64d6da7a8f523925a5ed80c3aea74859516e7) Review-Url: https://codereview.chromium.org/2691033003 . Cr-Commit-Position: refs/branch-heads/2924@{#914} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} [modify] https://crrev.com/13f276974efcdd1ad51b549be0c523a9ac2b6dfa/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp [modify] https://crrev.com/13f276974efcdd1ad51b549be0c523a9ac2b6dfa/third_party/WebKit/Source/modules/indexeddb/IDBValue.cpp [modify] https://crrev.com/13f276974efcdd1ad51b549be0c523a9ac2b6dfa/third_party/WebKit/Source/modules/indexeddb/IDBValue.h
,
Feb 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/712b567af8f776fc1f842b44a2cb8480bc69033e commit 712b567af8f776fc1f842b44a2cb8480bc69033e Author: Grace Kihumba <gkihumba@google.com> Date: Tue Feb 14 18:41:07 2017 IndexedDB: Added external memory counting for IDBValue. Should also fix https://code.google.com/p/chrome-os-partner/issues/detail?id=62731 R=cmumford@chromium.org BUG= 691607 , 690517 Review-Url: https://codereview.chromium.org/2691163002 Cr-Commit-Position: refs/heads/master@{#450265} (cherry picked from commit e7d64d6da7a8f523925a5ed80c3aea74859516e7) Review-Url: https://codereview.chromium.org/2694283002 . Cr-Commit-Position: refs/branch-heads/2987@{#503} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} [modify] https://crrev.com/712b567af8f776fc1f842b44a2cb8480bc69033e/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp [modify] https://crrev.com/712b567af8f776fc1f842b44a2cb8480bc69033e/third_party/WebKit/Source/modules/indexeddb/IDBValue.cpp [modify] https://crrev.com/712b567af8f776fc1f842b44a2cb8480bc69033e/third_party/WebKit/Source/modules/indexeddb/IDBValue.h
,
Feb 14 2017
,
Feb 15 2017
Verified the issue on Win 10 using 57.0.2987.54 and its working fine now. Previously it used to be crashed when the counter reached 23+ or so, now checked it running more than 10 mins and did not observed any crashes. Hence adding respective TE-Verified labels for the same.
,
Feb 15 2017
,
Feb 15 2017
:D Woooo! Glad it worked.
,
Feb 15 2017
switching owner for my accounting
,
Mar 7 2017
Issue 698028 has been merged into this issue.
,
Mar 13 2017
Issue 636105 has been merged into this issue.
,
Mar 13 2017
Issue 700044 has been merged into this issue.
,
May 25 2018
Issue 586620 has been merged into this issue. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by jsb...@chromium.org
, Feb 13 2017Components: -Blink>Storage Blink>Storage>IndexedDB