New issue
Advanced search Search tips

Issue 772481 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Sep 20
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Devtools holds onto async promises aggressively

Project Member Reported by allada@chromium.org, Oct 6 2017

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.
 
For exception prediction we maintain stack of promises when debugger is enabled. In some cases we push async function promise to stack and never pop it.
Owner: kozy@chromium.org
Status: WontFix (was: Assigned)
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