Youtube is broken in Firefox ASAN
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox98 | --- | fixed |
People
(Reporter: mikhail.v.gavrilov, Assigned: jandem, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0
Steps to reproduce:
Download latest Firefox ASAN build and try open youtube.com
Actual results:
The site opened, but didn't works.
Even video previews not displayed.
In console I see error message "Uncaught InternalError: too much recursion"
Expected results:
Youtube show recommended videos previews on main page.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 2•3 years ago
|
||
Maybe we should increase the JS stack depth on ASAN?
Comment 3•3 years ago
|
||
Any thoughts regarding the above suggestion Jan, or is there more investigation required first?
Comment 4•3 years ago
|
||
This is most likely related to this:
https://searchfox.org/mozilla-central/rev/996a2cafe472e9934b8cb91db63050f96d8a59cb/js/xpconnect/src/XPCJSContext.cpp#1176
Comment 5•3 years ago
|
||
The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 6•3 years ago
|
||
Bisecting gives this range:
Bug 1736057 is a bit suspicious. It could be the helper thread stack limit, maybe we should increase that for ASan builds similar to what we do for the main thread. I'll try something.
Assignee | ||
Updated•3 years ago
|
Comment 7•3 years ago
|
||
If this is Bug 1736057, This "too much recursion" error is caused by the parser then this is likely to happen when the page is being loaded.
This matches what is on the screenshot.
I am about to finish some work to eagerly delazify off-thread (Bug 1662110). If this is indeed this issue, this work would help by splitting the effort across multiple delazifications.
Another approach is that we could use a larger stack size for the HelperThread context. The reason we have conservative stack limits for SpiderMonkey is to ensure that we have enough space to make calls when we are in the chrome-world. Thus, preventing the JS code from causing stack overflow in the chrome code.
When parsing on HelperThreads we do not have this interleaving behaviour, and as such we might not need to have limits which are as conservative as on the main thread.
Assignee | ||
Comment 8•3 years ago
|
||
ASan builds use more stack space so need a larger stack size. Note that this matches
what we already do for the JS overrecursion limit for the main thread.
This fixes overrecursion errors from the parser when parsing JS files off-thread
on YouTube.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 10•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Comment 11•3 years ago
|
||
I could not reproduce the issue on Win10/Ubuntu20.4, using ASAN build 97.0a1 (20211217212339).
Is the issue still reproducing on your side on latest 98/99 builds?
Updated•3 years ago
|
Description
•