Open Bug 1403727 Opened 7 years ago Updated 7 months ago

Assertion failure: mFrame->Combines3DTransformWithAncestors() || IsTransformSeparator() [@ nsDisplayTransform::ComputeBounds]

Categories

(Core :: Web Painting, defect, P3)

defect

Tracking

()

People

(Reporter: tsmith, Unassigned)

References

(Blocks 2 open bugs, )

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file test_case.html
Assertion failure: mFrame->Combines3DTransformWithAncestors() || IsTransformSeparator(), at /src/layout/painting/nsDisplayList.h:5291 #0 nsDisplayTransform::DoUpdateBoundsPreserves3D(nsDisplayListBuilder*) /src/layout/painting/nsDisplayList.h:5290:5 #1 nsDisplayTransform::StoreList::DoUpdateBoundsPreserves3D(nsDisplayListBuilder*) /src/layout/painting/nsDisplayList.h:5020:12 #2 nsDisplayTransform::ComputeBounds(nsDisplayListBuilder*) /src/layout/painting/nsDisplayList.cpp:8374:17 #3 nsDisplayTransform::UpdateBoundsFor3D(nsDisplayListBuilder*) /src/layout/painting/nsDisplayList.h:5314:5 #4 nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*) /src/layout/generic/nsFrame.cpp:2809:24 #5 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3192:12 #6 DisplayLine(nsDisplayListBuilder*, nsRect const&, nsLineList_iterator&, int, int&, nsDisplayListSet const&, nsBlockFrame*, mozilla::css::TextOverflow*, unsigned int) /src/layout/generic/nsBlockFrame.cpp:6716:13 #7 nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/nsBlockFrame.cpp:6811:7 #8 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #9 DisplayLine(nsDisplayListBuilder*, nsRect const&, nsLineList_iterator&, int, int&, nsDisplayListSet const&, nsBlockFrame*, mozilla::css::TextOverflow*, unsigned int) /src/layout/generic/nsBlockFrame.cpp:6716:13 #10 nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/nsBlockFrame.cpp:6811:7 #11 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #12 nsCanvasFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/nsCanvasFrame.cpp:600:5 #13 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #14 mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/nsGfxScrollFrame.cpp:3530:15 #15 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #16 mozilla::ViewportFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/ViewportFrame.cpp:65:5 #17 nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*) /src/layout/generic/nsFrame.cpp:2603:5 #18 nsSubDocumentFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/nsSubDocumentFrame.cpp:479:9 #19 nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*) /src/layout/generic/nsFrame.cpp:2603:5 #20 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3192:12 #21 nsStackFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsStackFrame.cpp:58:5 #22 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #23 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #24 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #25 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #26 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #27 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #28 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #29 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #30 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #31 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #32 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #33 nsDeckFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsDeckFrame.cpp:198:3 #34 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #35 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #36 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #37 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #38 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #39 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #40 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #41 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #42 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #43 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #44 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #45 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #46 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #47 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #48 nsDeckFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsDeckFrame.cpp:198:3 #49 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #50 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #51 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #52 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #53 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #54 nsDeckFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsDeckFrame.cpp:198:3 #55 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #56 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #57 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #58 nsBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1353:3 #59 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #60 nsBoxFrame::BuildDisplayListForChildren(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsBoxFrame.cpp:1392:5 #61 nsRootBoxFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/xul/nsRootBoxFrame.cpp:189:3 #62 nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsDisplayListSet const&, unsigned int) /src/layout/generic/nsFrame.cpp:3243:14 #63 mozilla::ViewportFrame::BuildDisplayList(nsDisplayListBuilder*, nsDisplayListSet const&) /src/layout/generic/ViewportFrame.cpp:65:5 #64 nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsDisplayList*) /src/layout/generic/nsFrame.cpp:2603:5 #65 nsLayoutUtils::GetFramesForArea(nsIFrame*, nsRect const&, nsTArray<nsIFrame*>&, unsigned int) /src/layout/base/nsLayoutUtils.cpp:3326:11 #66 nsLayoutUtils::GetFrameForPoint(nsIFrame*, nsPoint, unsigned int) /src/layout/base/nsLayoutUtils.cpp:3290:8 #67 mozilla::FindFrameTargetedByInputEvent(mozilla::WidgetGUIEvent*, nsIFrame*, nsPoint const&, unsigned int) /src/layout/base/PositionedEventTargeting.cpp:542:5 #68 mozilla::PresShell::HandleEvent(nsIFrame*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*, nsIContent**) /src/layout/base/PresShell.cpp:7530:9 #69 nsViewManager::DispatchEvent(mozilla::WidgetGUIEvent*, nsView*, nsEventStatus*) /src/view/nsViewManager.cpp:812:14 #70 mozilla::PresShell::DispatchSynthMouseMove(mozilla::WidgetGUIEvent*, bool) /src/layout/base/PresShell.cpp:3735:33 #71 mozilla::PresShell::ProcessSynthMouseMoveEvent(bool) /src/layout/base/PresShell.cpp:5702:12 #72 mozilla::PresShell::nsSynthMouseMoveEvent::WillRefresh(mozilla::TimeStamp) /src/obj-firefox/dist/include/mozilla/PresShell.h:649:16 #73 nsRefreshDriver::Tick(long, mozilla::TimeStamp) /src/layout/base/nsRefreshDriver.cpp:1886:12 #74 mozilla::RefreshDriverTimer::TickRefreshDrivers(long, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) /src/layout/base/nsRefreshDriver.cpp:307:7 #75 mozilla::RefreshDriverTimer::Tick(long, mozilla::TimeStamp) /src/layout/base/nsRefreshDriver.cpp:329:5 #76 mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::TimeStamp) /src/layout/base/nsRefreshDriver.cpp:770:5 #77 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) /src/layout/base/nsRefreshDriver.cpp:683:35 #78 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::ParentProcessVsyncNotifier::Run() /src/layout/base/nsRefreshDriver.cpp:529:20 #79 nsThread::ProcessNextEvent(bool, bool*) /src/xpcom/threads/nsThread.cpp:1039:14 #80 NS_ProcessNextEvent(nsIThread*, bool) /src/xpcom/threads/nsThreadUtils.cpp:524:10 #81 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /src/ipc/glue/MessagePump.cpp:97:21 #82 MessageLoop::RunInternal() /src/ipc/chromium/src/base/message_loop.cc:326:10 #83 MessageLoop::Run() /src/ipc/chromium/src/base/message_loop.cc:299:3 #84 nsBaseAppShell::Run() /src/widget/nsBaseAppShell.cpp:158:27 #85 nsAppStartup::Run() /src/toolkit/components/startup/nsAppStartup.cpp:288:30 #86 XREMain::XRE_mainRun() /src/toolkit/xre/nsAppRunner.cpp:4701:22 #87 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /src/toolkit/xre/nsAppRunner.cpp:4865:8 #88 XRE_main(int, char**, mozilla::BootstrapConfig const&) /src/toolkit/xre/nsAppRunner.cpp:4960:21 #89 do_main(int, char**, char**) /src/browser/app/nsBrowserApp.cpp:236:22 #90 main /src/browser/app/nsBrowserApp.cpp:309:16 #91 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:291 #92 _start (firefox+0x41eb24)
Flags: in-testsuite?
This one seems to reproduce consistently using --xvfb with ffpuppet[1] to launch the browser & test case. [1] https://github.com/MozillaSecurity/ffpuppet
This reproduces on Windows easily but goes back further than mozregression can bisect (~1yr).
Has Regression Range: --- → no
Priority: -- → P3
Bughunter found this on https://www.chimpion.io/home/ on Windows/Linux.
Component: Layout → Web Painting
Severity: normal → S3
See Also: → 1826033
See Also: → 1853501

[clearing all the old-version wontfix flags since they're just taking up space at the top of this bug now]

This has been detected by live site testing.

Blocks: site-scout
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: