Devtools holds onto async promises aggressively |
|||
Issue description
Repro case:
(async function () {
var p = new Promise(resolve => {});
p.a = 'bar';
await p;
})().b = 'foo'; queryObjects(Promise);
Notice that it's 'a' getting retained. If you put this into an html file and load it, it will not be retained if you queryObject(Promise) after it runs.
,
Oct 16 2017
,
Sep 20
We maintain special stack of promises for exception caught/uncaught status prediction. It looks like in case when function is stuck forever we do not call PopPromise when we are ready to collect async function by itself. I will close this one as WontFix since to reproduce this leak we need to call async function that awaits something forever (sounds like error by itself) and have DevTools shown at the same time. Potential solution will introduce to much complexity in our codebase. |
|||
►
Sign in to add a comment |
|||
Comment 1 by kozyatinskiy@chromium.org
, Oct 6 2017