Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Issue 571043002: Oilpan: handle delayed removal of PromiseTracker promises. (Closed)

Created:
6 years, 3 months ago by sof
Modified:
6 years, 3 months ago
CC:
blink-reviews, caseq+blink_chromium.org, loislo+blink_chromium.org, eustas+blink_chromium.org, malch+blink_chromium.org, yurys+blink_chromium.org, lushnikov+blink_chromium.org, vsevik+blink_chromium.org, pfeldman+blink_chromium.org, paulirish+reviews_chromium.org, apavlov+blink_chromium.org, devtools-reviews_chromium.org, sergeyv+blink_chromium.org, aandrey+blink_chromium.org
Project:
blink
Visibility:
Public.

Description

Oilpan: handle delayed removal of PromiseTracker promises. When a PromiseTracker is disabled as part of shutting down, it clears its ID -> vector(PromiseData) map. However, once the unfulfilled promises in that cleared map later on have their weak callbacks invoked, we weren't prepared for the map being empty. Add the required empty map check. A further twist for Oilpan is that the ScopedPersistents held on the PromiseData objects need to be cleared out eagerly to prevent v8 assuming that these objects will leak -- they won't, but will only be cleared at the next Oilpan GC. Be more eager, and promptly clear out the references. R=haraken BUG=414163 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181979

Patch Set 1 #

Total comments: 3

Patch Set 2 : Make promiseHash map lookup more reliable #

Unified diffs Side-by-side diffs Delta from patch set Stats (+22 lines, -2 lines) Patch
M Source/core/inspector/PromiseTracker.cpp View 1 2 chunks +22 lines, -2 lines 0 comments Download

Messages

Total messages: 17 (6 generated)
aandrey
https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp File Source/core/inspector/PromiseTracker.cpp (right): https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp#newcode121 Source/core/inspector/PromiseTracker.cpp:121: return; let's bail out if (map.find() == map.end()) instead
6 years, 3 months ago (2014-09-15 12:38:44 UTC) #2
sof
Please take a look. Reliably reproduces on the Oilpan leak bot, and with --enable-leak-detection. (The ...
6 years, 3 months ago (2014-09-15 12:39:12 UTC) #4
sof
https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp File Source/core/inspector/PromiseTracker.cpp (right): https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp#newcode121 Source/core/inspector/PromiseTracker.cpp:121: return; On 2014/09/15 12:38:44, aandrey wrote: > let's bail ...
6 years, 3 months ago (2014-09-15 12:40:30 UTC) #5
aandrey
https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp File Source/core/inspector/PromiseTracker.cpp (right): https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp#newcode121 Source/core/inspector/PromiseTracker.cpp:121: return; On 2014/09/15 12:40:30, sof wrote: > On 2014/09/15 ...
6 years, 3 months ago (2014-09-15 12:46:05 UTC) #7
sof
On 2014/09/15 12:46:05, aandrey wrote: > https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp > File Source/core/inspector/PromiseTracker.cpp (right): > > https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp#newcode121 > ...
6 years, 3 months ago (2014-09-15 12:50:00 UTC) #8
sof
On 2014/09/15 12:50:00, sof wrote: > On 2014/09/15 12:46:05, aandrey wrote: > > > https://codereview.chromium.org/571043002/diff/1/Source/core/inspector/PromiseTracker.cpp ...
6 years, 3 months ago (2014-09-15 13:13:38 UTC) #9
aandrey
lgtm
6 years, 3 months ago (2014-09-15 13:23:51 UTC) #10
aandrey
also need owner review
6 years, 3 months ago (2014-09-15 13:24:18 UTC) #12
haraken
LGTM (However, I think a better fix would be to use DOMWrapperWorld::registerDOMObjectHolder. DOMObjectHolders are expected ...
6 years, 3 months ago (2014-09-15 13:32:25 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/571043002/20001
6 years, 3 months ago (2014-09-15 13:47:05 UTC) #16
commit-bot: I haz the power
6 years, 3 months ago (2014-09-15 14:25:51 UTC) #17
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as 181979

Powered by Google App Engine
This is Rietveld 408576698