AsyncTabSwitcher assertion failures are being hit on infra without causing test failures
Categories
(Firefox :: Tabbed Browser, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox102 | --- | affected |
People
(Reporter: Gijs, Unassigned, NeedInfo)
Details
Although they show up in logs and will be highlighted for failures (leading to confusion, e.g. bug 1766373), they don't cause failures on their own.
For instance, this job is green (log file link) despite the failures.
It looks like at least browser/base/content/test/general/browser_newTabDrop.js and browser/base/content/test/general/browser_tabDrop.js cause these assertion failures pretty regularly on infra (or perhaps the test that runs immediately before it, and they get logged - but given both are tab drop tests it seems plausible it's related to that and/or how the test is written).
Doug, ISTR you know a bit about this code - do you know what's happening here and/or what we can do to (a) make these assertion failures actually cause test failures, and (b) make the tests not trip the assertions? :-)
Comment 1•3 years ago
|
||
I think that the assertion we're hitting here is incorrect. However it's possible that other places in the code make the same assumption as this assertion.
My guess is the way we're tripping this assertion is we unload the tab, then try to load it again shortly thereafter. This results in a tab state of STATE_LOADING while the layer tree clear is making its way through the pipeline across processes.
I think it's really important that we harden this code more. The result of bad assumptions is tabs that get stuck in a loading state indefinitely, which can cause people to be frustrated or in the worst case to lose important work.
I think we should work toward moving some of these assertions to something like ChromeUtils.mozDiagnosticCrash (doesn't exist, though there's something similar to what we might want in ChromeUtils.releaseAssert.)
Comment 2•3 years ago
|
||
The severity field is not set for this bug.
:dao, could you have a look please?
For more information, please visit auto_nag documentation.
Description
•