Open Bug 1124322 Opened 7 years ago Updated 2 years ago

Abusive javascript promise not stopped on close

Categories

(Core :: DOM: Core & HTML, defect)

35 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

UNCONFIRMED

People

(Reporter: jonathan, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 20150121030203

Steps to reproduce:

var p = Promise.resolve();
function again() { p = p.then(again);}
again();

Run above code in a page then close tab/window.



Actual results:

CPU remains at 100%.
Get already running message if you close all windows and try to open a new one.



Expected results:

Stop when closed.

Navigating away e.g. bookmark works correctly.
Component: Untriaged → JavaScript Engine
Product: Firefox → Core
Loic, promises are not implemented in the JS engine.

Nikhil, you were looking into this sort of thing, right?
Component: JavaScript Engine → DOM
Flags: needinfo?(nsm.nikhil)
(In reply to Boris Zbarsky [:bz] from comment #1)
> Loic, promises are not implemented in the JS engine.
> 
> Nikhil, you were looking into this sort of thing, right?

Yea, that sort of stalled. I had a patch, but then there seemed to be a compositor bug. :WeirdAl has some new comment on it though. Might be worth looking into a possible cycle. Bug 1058695.
Flags: needinfo?(nsm.nikhil)
Depends on: 1058695
I tried now with Firefox 64 on Linux

The browser is responsive and i was able to close the tab. The memory kept growing though.

In any case, I was able to close the browser and restart it without a problem.
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.