Intermittent layout/base/tests/test_scroll_per_page.html | Test timed out.
Categories
(Core :: Layout, defect, P5)
Tracking
()
People
(Reporter: intermittent-bug-filer, Assigned: masayuki)
References
Details
(Keywords: intermittent-failure, regression)
Attachments
(2 files, 1 obsolete file)
#[markdown(off)]
Filed by: nerli [at] mozilla.com
https://treeherder.mozilla.org/logviewer.html#?job_id=238132463&repo=autoland
[task 2019-04-04T13:19:04.449Z] 13:19:04 INFO - 1557 INFO TEST-START | layout/base/tests/test_scroll_per_page.html
[task 2019-04-04T13:24:13.913Z] 13:24:13 INFO - Buffered messages logged at 13:18:42
[task 2019-04-04T13:24:13.914Z] 13:24:13 INFO - 1558 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in non-scrollable editing host: the document should be scrolled down even if user presses PageDown in the editing host got: 132, previous position: 0
[task 2019-04-04T13:24:13.914Z] 13:24:13 INFO - 1559 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in non-scrollable editing host: selection start shouldn't be moved to outside of the editing host (got: text node in div#editor)
[task 2019-04-04T13:24:13.914Z] 13:24:13 INFO - 1560 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in non-scrollable editing host: selection should be collapsed
[task 2019-04-04T13:24:13.914Z] 13:24:13 INFO - 1561 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in non-scrollable editing host: the editing host should keep having focus
[task 2019-04-04T13:24:13.914Z] 13:24:13 INFO - Buffered messages finished
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1562 INFO TEST-UNEXPECTED-FAIL | layout/base/tests/test_scroll_per_page.html | Test timed out.
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - SimpleTest.ok@SimpleTest/SimpleTest.js:275:18
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - reportError@SimpleTest/TestRunner.js:121:22
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - TestRunner._checkForHangs@SimpleTest/TestRunner.js:142:7
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1563 INFO TEST-OK | layout/base/tests/test_scroll_per_page.html | took 304030ms
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1564 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in non-scrollable editing host: the document should be scrolled up even if user presses PageDown in the editing host got: 54, previous position: 132
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1565 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in non-scrollable editing host: selection start shouldn't be moved to outside of the editing host (got: text node in div#editor)
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1566 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in non-scrollable editing host: selection should be collapsed
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1567 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in non-scrollable editing host: the editing host should keep having focus
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1568 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in scrollable editing host: the editor should be scrolled down even if user presses PageDown in the editing host got: 71, previous position: 0
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1569 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in scrollable editing host: selection start shouldn't be moved to outside of the editing host (got: text node in div#innerDiv)
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1570 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in scrollable editing host: selection should be collapsed
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1571 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageDown in scrollable editing host: the editing host should keep having focus
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1572 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in scrollable editing host: the editor should be scrolled up even if user presses PageDown in the editing host got: 0, previous position: 71
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1573 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in scrollable editing host: selection start shouldn't be moved to outside of the editing host (got: text node in div#innerDiv)
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1574 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in scrollable editing host: selection should be collapsed
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1575 INFO TEST-PASS | layout/base/tests/test_scroll_per_page.html | PageUp in scrollable editing host: the editing host should keep having focus
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1576 ERROR [SimpleTest.finish()] this test already called finish!
[task 2019-04-04T13:24:13.919Z] 13:24:13 INFO - 1577 INFO TEST-UNEXPECTED-ERROR | layout/base/tests/test_scroll_per_page.html | called finish() multiple times
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 25•6 years ago
|
||
This permafailed on beta sims late beta on the 27th of October: https://treeherder.mozilla.org/#/jobs?repo=try&resultStatus=pending%2Crunning%2Csuccess%2Ctestfailed%2Cbusted%2Cexception%2Crunnable&revision=039dea1b396dbd1457c7b283ca68cf9251499ad1&searchStr=android%2C7.0%2Cx86-64%2Cdebug%2Cmochitests%2Ctest-android-em-7.0-x86_64%2Fdebug-geckoview-mochitest-e10s-4%2Cm%284%29&group_state=expanded&selectedJob=273244560
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 37•5 years ago
|
||
When this occurs, I see some this warnings:
[Child 5612, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
And this is caused by the following stack:
[task 2021-01-22T04:17:02.383Z] 04:17:02 INFO - GECKO(5632) | #01: mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) [layout/base/RestyleManager.cpp:3033]
[task 2021-01-22T04:17:02.383Z] 04:17:02 INFO - GECKO(5632) | #02: mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) [layout/base/PresShell.cpp:4209]
[task 2021-01-22T04:17:02.383Z] 04:17:02 INFO - GECKO(5632) | #03: mozilla::dom::Document::FlushPendingNotifications(mozilla::ChangesToFlush) [dom/base/Document.cpp:10351]
[task 2021-01-22T04:17:02.383Z] 04:17:02 INFO - GECKO(5632) | #04: mozilla::image::SVGDocumentWrapper::FlushImageTransformInvalidation() [image/SVGDocumentWrapper.cpp:95]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #05: mozilla::image::VectorImage::CreateSurface(mozilla::image::SVGDrawingParameters const&, gfxDrawable*, bool&) [image/VectorImage.cpp:1071]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #06: mozilla::image::VectorImage::Draw(gfxContext*, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::image::ImageRegion const&, unsigned int, mozilla::gfx::SamplingFilter, mozilla::Maybe<mozilla::SVGImageContext> const&, unsigned int, float) [image/VectorImage.cpp:994]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #07: DrawImageInternal(gfxContext&, nsPresContext*, imgIContainer*, const mozilla::gfx::SamplingFilter, nsRect const&, nsRect const&, nsPoint const&, nsRect const&, mozilla::Maybe<mozilla::SVGImageContext> const&, unsigned int, mozilla::gfx::ExtendMode, float) [layout/base/nsLayoutUtils.cpp:6170]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #08: static nsLayoutUtils::DrawBackgroundImage(gfxContext&, nsIFrame*, nsPresContext*, imgIContainer*, mozilla::gfx::SamplingFilter, nsRect const&, nsRect const&, nsSize const&, nsPoint const&, nsRect const&, unsigned int, mozilla::gfx::ExtendMode, float) [layout/base/nsLayoutUtils.cpp:6421]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #09: mozilla::nsImageRenderer::Draw(nsPresContext*, gfxContext&, nsRect const&, nsRect const&, nsRect const&, nsPoint const&, nsSize const&, mozilla::gfx::IntRectTyped<mozilla::CSSPixel> const&, float) [layout/painting/nsImageRenderer.cpp:482]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #10: mozilla::nsImageRenderer::DrawLayer(nsPresContext*, gfxContext&, nsRect const&, nsRect const&, nsPoint const&, nsRect const&, nsSize const&, float) [layout/painting/nsImageRenderer.cpp:737]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #11: static nsCSSRendering::PaintStyleImageLayerWithSC(nsCSSRendering::PaintBGParams const&, gfxContext&, mozilla::ComputedStyle*, nsStyleBorder const&) [layout/painting/nsCSSRendering.cpp:2623]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #12: static nsCSSRendering::PaintStyleImageLayer(nsCSSRendering::PaintBGParams const&, gfxContext&) [layout/painting/nsCSSRendering.cpp:1856]
[task 2021-01-22T04:17:02.384Z] 04:17:02 INFO - GECKO(5632) | #13: nsDisplayBackgroundImage::PaintInternal(nsDisplayListBuilder*, gfxContext*, nsRect const&, nsRect*) [layout/painting/nsDisplayList.cpp:4209]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #14: nsDisplayBackgroundImage::Paint(nsDisplayListBuilder*, gfxContext*) [layout/painting/nsDisplayList.cpp:4187]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #15: mozilla::FrameLayerBuilder::PaintItems(std::vector<mozilla::AssignedDisplayItem,std::allocator<mozilla::AssignedDisplayItem> >&, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, gfxContext*, nsDisplayListBuilder*, nsPresContext*, mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> const&, float, float) [layout/painting/FrameLayerBuilder.cpp:7172]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #16: static mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*) [layout/painting/FrameLayerBuilder.cpp:7333]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #17: mozilla::layers::ClientSingleTiledLayerBuffer::PaintThebes(mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::TilePaintFlags) [gfx/layers/client/SingleTiledContentClient.cpp:222]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #18: mozilla::layers::ClientTiledPaintedLayer::RenderHighPrecision(mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*) [gfx/layers/client/ClientTiledPaintedLayer.cpp:358]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #19: mozilla::layers::ClientTiledPaintedLayer::RenderLayer() [gfx/layers/client/ClientTiledPaintedLayer.cpp:576]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #20: mozilla::layers::ClientContainerLayer::RenderLayer() [gfx/layers/client/ClientContainerLayer.h:55]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #21: mozilla::layers::ClientContainerLayer::RenderLayer() [gfx/layers/client/ClientContainerLayer.h:55]
[task 2021-01-22T04:17:02.385Z] 04:17:02 INFO - GECKO(5632) | #22: mozilla::layers::ClientContainerLayer::RenderLayer() [gfx/layers/client/ClientContainerLayer.h:55]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #23: mozilla::layers::ClientLayerManager::EndTransactionInternal(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) [gfx/layers/client/ClientLayerManager.cpp:352]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #24: mozilla::layers::ClientLayerManager::EndTransaction(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) [gfx/layers/client/ClientLayerManager.cpp:408]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #25: nsDisplayList::PaintRoot(nsDisplayListBuilder*, gfxContext*, unsigned int) [layout/painting/nsDisplayList.cpp:2613]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #26: static nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) [layout/base/nsLayoutUtils.cpp:3432]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #27: mozilla::PresShell::Paint(nsView*, nsRegion const&, mozilla::PaintFlags) [layout/base/PresShell.cpp:6392]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #28: nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) [view/nsViewManager.cpp:460]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #29: nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) [view/nsViewManager.cpp:396]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #30: nsViewManager::ProcessPendingUpdates() [view/nsViewManager.cpp:1017]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #31: nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:2377]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #32: mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) [layout/base/nsRefreshDriver.cpp:336]
[task 2021-01-22T04:17:02.386Z] 04:17:02 INFO - GECKO(5632) | #33: mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:353]
I'm still not sure what it tries to do. But the test has no image, so, I guess that it's a reflow for chrome UI like scrollbar or something, and it consumes the synthesized PageDown
or PageUp
handling.
Assignee | ||
Comment 38•5 years ago
|
||
emilio: Do you know something about the warning? Even if the test pass, I see the warning later. So, when it occurs during the test, this intermittent failure occurs.
(My patch for bug 1685491 increases this failure, perhaps, it might change the timing of running pending runnable events.)
Comment 39•5 years ago
|
||
So this warning has started happening somewhat recently. Looking a bit more closely into it, the warning itself is harmless. We're reconstructing native anonymous content (like scrollbars and so on), but the parent we were going to reconstruct is gone. The problem is that in this case the parent is the document element, so we're reframing the whole document, which seems quite unfortunate...
I don't see a patch in bug 1685491 so I can't test with that applied... But I tracked this warning down locally and it ends up being caused by this, which obviously causes us to reframe everything:
So the stack that causes this is:
#1 0x00007f1557b3ec09 in mozilla::PresShell::Observe (this=<optimized out>, aSubject=<optimized out>, aTopic=0x7f15500d3897 "font-info-updated", aData=0x0) at /home/emilio/src/moz/gecko-5/layout/base/PresShell.cpp:9963
#2 0x00007f1554633209 in nsObserverList::NotifyObservers (this=<optimized out>, aSubject=0x0, aTopic=0x7f15500d3897 "font-info-updated", someData=0x0) at /home/emilio/src/moz/gecko-5/xpcom/ds/nsObserverList.cpp:70
#3 0x00007f155463c8c5 in nsObserverService::NotifyObservers (this=<optimized out>, aSubject=0x0, aTopic=0x7f15500d3897 "font-info-updated", aSomeData=0x0) at /home/emilio/src/moz/gecko-5/xpcom/ds/nsObserverService.cpp:287
#4 0x00007f155571b5e5 in gfxPlatform::ForceGlobalReflow () at /home/emilio/src/moz/gecko-5/gfx/thebes/gfxPlatform.cpp:2362
#5 0x00007f155571aa22 in gfxPlatform::UpdateFontList (this=<optimized out>, aFullRebuild=false) at /home/emilio/src/moz/gecko-5/gfx/thebes/gfxPlatform.cpp:1803
#6 0x00007f15574d491e in mozilla::dom::ContentChild::RecvRebuildFontList (this=<optimized out>, aFullRebuild=@0x7fff05146570: false) at /home/emilio/src/moz/gecko-5/dom/ipc/ContentChild.cpp:2416
#7 0x00007f1554ec4dd0 in mozilla::dom::PContentChild::OnMessageReceived
Which makes me think this is caused by some of the recent changes to font loading that Jonathan has made.
So maybe what your patch changed was adding a test or something that made this test come before, or some other thing that could change the order we load fonts or something...
Jonathan, what was the right way to disable this behavior, so that Masayuki can see if doing that helps?
Masayuki, I think disabling that incremental font loading might help
Comment 40•5 years ago
|
||
To avoid this, set the pref gfx.font_rendering.fallback.async
to false
for whatever test is triggering font fallback. (It may be caused by a testcase that's loaded just before this one initiating the async font loading work, which then causes a reflow everywhere when it completes.)
Comment 41•5 years ago
|
||
(So the simplest thing to try is to add that pref to the mochitest.ini here, and see if that fixes the issue.)
Assignee | ||
Comment 42•5 years ago
|
||
Thank you for the investigation, emilio.
My patches are here: https://treeherder.mozilla.org/jobs?repo=try&resultStatus=testfailed%2Cbusted%2Cexception%2Csuccess%2Cusercancel%2Crunning%2Cpending%2Crunnable&revision=a64d71078f225f43426541b6410515391bf3a522 (not the latest ones, though)
Indeed, I added a new test for bug 1103374 because my patch (part 5) redesigns around it.
However, this is also happens in TV, so, perhaps, I need to disable the pref for mochitest-plain-*, but also disable the test if verity.
Trying to disable the pref under layout/base/tests
(it might need to move it under libeditor/tests if the pref is required by some other tests):
https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=alVyS_-SR-mxYvfIfQ7qwQ.0&resultStatus=testfailed%2Cbusted%2Cexception%2Csuccess%2Cusercancel%2Crunning%2Cpending%2Crunnable&revision=6b410b157d7dd3e60303d0369ad95e20bd2b7582
Comment 43•5 years ago
|
||
(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900)(Got a cold, working slower) from comment #42)
However, this is also happens in TV, so, perhaps, I need to disable the pref for mochitest-plain-*, but also disable the test if verity.
Lots of tests fail when run under TV (but are fine when run normally), I wouldn't recommend making TV specific fixes. We only run TV jobs when the test changes. If a test fails on TV it is good to know about, but not necessarily to take any action.
Assignee | ||
Comment 44•5 years ago
|
||
:tnikkel thank you for the information.
And I confirmed that the failure is occurred by unexpected whole reflow.
https://treeherder.mozilla.org/logviewer?job_id=327536071&repo=try&lineNumber=2632
The scroll position is suddenly reset to 0.
I think I should add a detection of this bug in the test until somebody fixes the root cause.
Assignee | ||
Comment 45•5 years ago
|
||
Unfortunately, the change for bug 1685491 increases the frequency of the
intermittent failure of test_scroll_per_page.html
and creates some new
intermittent failure messages because of changing some timing of the checks.
When the failure occurs, I see this warning before it:
https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/layout/base/nsCSSFrameConstructor.cpp#8459
That's caused while loading a background image, according to the stack:
#01: mozilla::RestyleManager::DoProcessPendingRestyles
#02: mozilla::PresShell::DoFlushPendingNotifications
#03: mozilla::dom::Document::FlushPendingNotifications
#04: mozilla::image::SVGDocumentWrapper::FlushImageTransformInvalidation
#05: mozilla::image::VectorImage::CreateSurface
#06: mozilla::image::VectorImage::Draw
#07: DrawImageInternal
#08: static nsLayoutUtils::DrawBackgroundImage
#09: mozilla::nsImageRenderer::Draw
#10: mozilla::nsImageRenderer::DrawLayer
#11: static nsCSSRendering::PaintStyleImageLayerWithSC
#12: static nsCSSRendering::PaintStyleImageLayer
#13: nsDisplayBackgroundImage::PaintInternal
#14: nsDisplayBackgroundImage::Paint
#15: mozilla::FrameLayerBuilder::PaintItems
#16: static mozilla::FrameLayerBuilder::DrawPaintedLayer
#17: mozilla::layers::ClientSingleTiledLayerBuffer::PaintThebes
#18: mozilla::layers::ClientTiledPaintedLayer::RenderHighPrecision
#19: mozilla::layers::ClientTiledPaintedLayer::RenderLayer
#20: mozilla::layers::ClientContainerLayer::RenderLayer()
#21: mozilla::layers::ClientContainerLayer::RenderLayer()
#22: mozilla::layers::ClientContainerLayer::RenderLayer()
#23: mozilla::layers::ClientLayerManager::EndTransactionInternal
#24: mozilla::layers::ClientLayerManager::EndTransaction
#25: nsDisplayList::PaintRoot
#26: static nsLayoutUtils::PaintFrame
#27: mozilla::PresShell::Paint
#28: nsViewManager::ProcessPendingUpdatesPaint
#29: nsViewManager::ProcessPendingUpdatesForView
#30: nsViewManager::ProcessPendingUpdates
#31: nsRefreshDriver::Tick
But the test does not have image, so, this must be a reflow for a part of our
UI in the content process, e.g., scrollbar or something.
I filed bug 1688430 for this issue for fixing the root cause, however, this
patch makes retry to test if it detects this bug (unfortunately, we cannot
detect it on Android).
Depends on D102882
Updated•5 years ago
|
Comment 46•5 years ago
|
||
So disabling the pref didn't work? I'm pretty sure that warning is just a red herring, and it's caused by a global reflow of some sort... I'm happy to dig and check where that comes from in that specific test with your patches applied if you tell me how to reproduce the timeout.
Assignee | ||
Comment 47•5 years ago
•
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #46)
So disabling the pref didn't work?
It also works fine, but it's under layout/base/tests
. Isn't it important to check the behavior with the pref enabled for some other tests? Even if we should just disable the test, perhaps, the scroll related tests should be moved to independent directory or under dom/events/test
etc. I'm really afraid to disable the pref related to layout in under layout/
.
I'm pretty sure that warning is just a red herring, and it's caused by a global reflow of some sort... I'm happy to dig and check where that comes from in that specific test with your patches applied if you tell me how to reproduce the timeout.
I have no idea how to reproduce it in any environment. I cannot reproduce it on my machine, but it's almost always appear in trysever. So, I guess that it's caused by slower CPU. Try ./mach mochitest test_scroll_per_page.html --verify
to reproduce it on your machine without may patch for this or commenting out the observer method's about = true
in this patch.
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 49•5 years ago
|
||
Emilio, if you're on Linux, it seems that bug 1664969 is easier to reproduce. It's also caused by the global reflow.
Comment 50•5 years ago
|
||
(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900)(Still not recoverd perfectly) from comment #47)
(In reply to Emilio Cobos Álvarez (:emilio) from comment #46)
So disabling the pref didn't work?
It also works fine, but it's under
layout/base/tests
. Isn't it important to check the behavior with the pref enabled for some other tests?
That is more of a question for Jonathan. But IMHO tests shouldn't need to work around timing issues.
Updated•5 years ago
|
Assignee | ||
Comment 51•5 years ago
|
||
Asynchronous font loading occurs during scroll position tests, it resets
scroll positions to 0. So, this causes intermittent failures in such tests.
Disabling the async font loading under layout/base/tests
may not be proper
solution because some layout tests may work perfectly even if global reflow
may occur.
Therefore, this patch moves 2 tests which check scroll position to under
dom/events/test
and disabling the async font loading since the global reflow
shouldn't be related to the tests under dom/events
.
Assignee | ||
Comment 52•5 years ago
|
||
It waits a scroll
event after synthesizing PageDown
or PageUp
key event
and it causes intermittent timeout if unexpected cases occurred randomly.
Therefore, we've not have enough hint to fix the existing intermittent timeout.
For making this bug forward, it should stop waiting a scroll
event with a
Promise
. Instead, it should check whether a scroll
event fired or not
with a few times retry.
Depends on D103013
Updated•5 years ago
|
Comment 53•5 years ago
|
||
Comment 54•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a8e6a18c719f
https://hg.mozilla.org/mozilla-central/rev/ab1ef0f070f1
Updated•5 years ago
|
![]() |
||
Updated•1 year ago
|
Description
•