ASSERTION: Second ancestor is not BODY

NEW
Unassigned

Status

()

Core
Layout
12 years ago
2 months ago

People

(Reporter: Jesse Ruderman, Unassigned)

Tracking

(Blocks: 1 bug, {assertion, testcase})

Trunk
assertion, testcase
Points:
---

Firefox Tracking Flags

(firefox-esr52 wontfix, firefox56 wontfix, firefox57 wontfix, firefox58 fix-optional)

Details

Attachments

(1 attachment)

(Reporter)

Description

12 years ago
###!!! ASSERTION: Second ancestor is not BODY: 'contentTag == nsHTMLAtoms::body', file /Users/admin/trunk/mozilla/layout/generic/nsHTMLReflowState.cpp, line 1548
(Reporter)

Comment 1

12 years ago
Created attachment 208541 [details]
testcase
(Reporter)

Updated

12 years ago
Blocks: 323500
(Reporter)

Comment 2

11 years ago
This still happens on trunk.

See also bug 384504, "ASSERTION: First ancestor is not HTML".
This assertion is in CalcQuirkContainingBlockHeight, which we call because there's a percent height and we're in quirks mode.

We're basically asserting that the two frames directly below the canvas will have content with HTML and Body tags, respectively.

In this case, that assumption is false -- the second frame has a **Head** tag, (not Body), because the head has been told (via CSS) to be displayed.

So, it looks like this assertion's assumption is too strong.  We may be able to just ease up on what we're asserting, or leave the condition the same but change the assertion to a warning.
(Reporter)

Comment 4

8 years ago
Still happens on trunk.
Still hits to this day :)

ASSERTION: Second ancestor is not BODY: 'frameContent->IsHTMLElement(nsGkAtoms::body)', file layout/generic/ReflowInput.cpp, line 2078
#01: mozilla::ReflowInput::ComputeContainingBlockRectangle [layout/generic/ReflowInput.cpp:2155]
#02: mozilla::ReflowInput::InitConstraints [layout/generic/ReflowInput.cpp:2263]
#03: mozilla::ReflowInput::Init [layout/generic/ReflowInput.cpp:427]
#04: nsBlockReflowContext::ComputeCollapsedBStartMargin [layout/generic/nsBlockReflowContext.cpp:171]
#05: nsBlockFrame::ReflowBlockFrame [layout/generic/nsBlockFrame.cpp:3367]
#06: nsBlockFrame::ReflowLine [layout/generic/nsBlockFrame.cpp:2870]
#07: nsBlockFrame::ReflowDirtyLines [layout/generic/nsBlockFrame.cpp:2409]
#08: nsBlockFrame::Reflow [layout/generic/nsBlockFrame.cpp:1248]
#09: nsContainerFrame::ReflowChild [layout/generic/nsContainerFrame.cpp:937]
#10: nsCanvasFrame::Reflow [layout/generic/nsCanvasFrame.cpp:756]
#11: nsContainerFrame::ReflowChild [layout/generic/nsContainerFrame.cpp:937]
#12: nsHTMLScrollFrame::ReflowScrolledFrame [layout/generic/nsGfxScrollFrame.cpp:554]
#13: nsHTMLScrollFrame::ReflowContents [layout/generic/nsGfxScrollFrame.cpp:684]
#14: nsHTMLScrollFrame::Reflow [layout/generic/nsGfxScrollFrame.cpp:1041]
#15: nsContainerFrame::ReflowChild [layout/generic/nsContainerFrame.cpp:980]
#16: mozilla::ViewportFrame::Reflow [layout/generic/ViewportFrame.cpp:332]
#17: mozilla::PresShell::DoReflow [layout/generic/ReflowOutput.h:282]
#18: mozilla::PresShell::ProcessReflowCommands [layout/base/PresShell.cpp:9121]
#19: mozilla::PresShell::DoFlushPendingNotifications [layout/base/PresShell.cpp:4183]
#20: mozilla::PresShell::DoFlushPendingNotifications [layout/base/PresShell.cpp:4019]
#21: nsDocumentViewer::LoadComplete [layout/base/nsIPresShell.h:557]
#22: nsDocShell::EndPageLoad [docshell/base/nsDocShell.cpp:7761]
#23: nsDocShell::OnStateChange [docshell/base/nsDocShell.cpp:7557]
#24: nsDocLoader::DoFireOnStateChange [uriloader/base/nsDocLoader.cpp:1320]
#25: nsDocLoader::doStopDocumentLoad [uriloader/base/nsDocLoader.cpp:860]
#26: nsDocLoader::DocLoaderIsEmpty [uriloader/base/nsDocLoader.cpp:752]
#27: nsDocLoader::OnStopRequest [uriloader/base/nsDocLoader.cpp:625]
#28: mozilla::net::nsLoadGroup::RemoveRequest [netwerk/base/nsLoadGroup.cpp:631]
#29: nsDocument::DoUnblockOnload [dom/base/nsDocument.cpp:9364]
#30: nsDocument::UnblockOnload [dom/base/nsDocument.cpp:9288]
#31: nsDocument::DispatchContentLoadedEvents [dom/base/nsDocument.cpp:5575]
#32: mozilla::detail::RunnableMethodImpl<nsDocument*, void (nsDocument::*)(), true, (mozilla::RunnableKind)0u>::Run [xpcom/threads/nsThreadUtils.h:1196]
#33: mozilla::SchedulerGroup::Runnable::Run [xpcom/threads/SchedulerGroup.cpp:396]
#34: nsThread::ProcessNextEvent [mfbt/Maybe.h:445]
#35: NS_ProcessNextEvent [xpcom/threads/nsThreadUtils.cpp:524]
#36: mozilla::ipc::MessagePump::Run [ipc/glue/MessagePump.cpp:98]
#37: MessageLoop::RunInternal [ipc/chromium/src/base/message_loop.cc:327]
#38: MessageLoop::Run [ipc/chromium/src/base/message_loop.cc:298]
#39: nsBaseAppShell::Run [widget/nsBaseAppShell.cpp:160]
#40: XRE_RunAppShell [toolkit/xre/nsEmbedFunctions.cpp:834]
#41: mozilla::ipc::MessagePumpForChildProcess::Run [ipc/glue/MessagePump.cpp:269]
#42: MessageLoop::RunInternal [ipc/chromium/src/base/message_loop.cc:327]
#43: MessageLoop::Run [ipc/chromium/src/base/message_loop.cc:298]
#44: XRE_InitChildProcess [toolkit/xre/nsEmbedFunctions.cpp:707]
#45: content_process_main [ipc/contentproc/plugin-container.cpp:65]
#46: main [browser/app/nsBrowserApp.cpp:283]
#47: libc.so.6 + 0x20830
#48: _start
Has Regression Range: --- → no
status-firefox56: --- → wontfix
status-firefox57: --- → wontfix
status-firefox58: --- → fix-optional
status-firefox-esr52: --- → wontfix
OS: Mac OS X → All
Hardware: PowerPC → All
You need to log in before you can comment on or make changes to this bug.