Closed Bug 1421519 Opened 7 years ago Closed 7 years ago

Assertion failure: IsFlattenedTreeChild(parent, child) (GetFlattenedTreeParent and ChildIterator don't agree, fix this!), at /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp:7524

Categories

(Core :: DOM: Core & HTML, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox-esr52 --- unaffected
firefox59 --- disabled
firefox60 --- fixed

People

(Reporter: jkratzer, Assigned: emilio)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file trigger.html
Testcase found while fuzzing mozilla-central rev c2248f853469. OS|Linux|0.0.0 Linux 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64 CPU|amd64|family 6 model 69 stepping 1|1 GPU||| Crash|SIGSEGV|0x0|0 0|0|libxul.so|nsCSSFrameConstructor::StyleNewChildRange|hg:hg.mozilla.org/mozilla-central:layout/base/nsCSSFrameConstructor.cpp:c2248f853469|7518|0x0 0|1|libxul.so|nsCSSFrameConstructor::ContentRangeInserted|hg:hg.mozilla.org/mozilla-central:layout/base/nsCSSFrameConstructor.cpp:c2248f853469|8088|0x13 0|2|libxul.so|nsCSSFrameConstructor::ContentInserted|hg:hg.mozilla.org/mozilla-central:layout/base/nsCSSFrameConstructor.cpp:c2248f853469|7903|0xf 0|3|libxul.so|mozilla::PresShell::ContentInserted|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:c2248f853469|4501|0x17 0|4|libxul.so|nsNodeUtils::ContentInserted|hg:hg.mozilla.org/mozilla-central:dom/base/nsNodeUtils.cpp:c2248f853469|198|0x18 0|5|libxul.so|nsINode::doInsertChildAt|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:c2248f853469|1646|0x8 0|6|libxul.so|nsINode::ReplaceOrInsertBefore|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:c2248f853469|2490|0x2f 0|7|libxul.so|nsINode::After|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:c2248f853469|1825|0x22 0|8|libxul.so|mozilla::dom::ElementBinding::after|s3:gecko-generated-sources:c69537ce439c4918289ccd9ccb6b9de0e76343c6f0dcb44da14808bf894926aaa6a42e05e06b86e9e913707c8ba3134d829b5ab87907c4fdd762bdcab51856d2/dom/bindings/ElementBinding.cpp:|4222|0x12 0|9|libxul.so|mozilla::dom::GenericBindingMethod|hg:hg.mozilla.org/mozilla-central:dom/bindings/BindingUtils.cpp:c2248f853469|3042|0x9 0|10|libxul.so|js::CallJSNative|hg:hg.mozilla.org/mozilla-central:js/src/jscntxtinlines.h:c2248f853469|291|0x6 0|11|libxul.so|js::InternalCallOrConstruct|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:c2248f853469|473|0xf 0|12|libxul.so|InternalCall|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:c2248f853469|522|0xd 0|13|libxul.so|Interpret|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:c2248f853469|528|0xf 0|14|libxul.so|js::RunScript|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:c2248f853469|423|0xb 0|15|libxul.so|js::ExecuteKernel|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:c2248f853469|706|0x5 0|16|libxul.so|js::Execute|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:c2248f853469|739|0x5 0|17|libxul.so|ExecuteScript|hg:hg.mozilla.org/mozilla-central:js/src/jsapi.cpp:c2248f853469|4702|0x11 0|18|libxul.so|ExecuteScript|hg:hg.mozilla.org/mozilla-central:js/src/jsapi.cpp:c2248f853469|4721|0x8 0|19|libxul.so|nsJSUtils::ExecutionContext::CompileAndExec|hg:hg.mozilla.org/mozilla-central:dom/base/nsJSUtils.cpp:c2248f853469|266|0xc 0|20|libxul.so|mozilla::dom::ScriptLoader::EvaluateScript|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptLoader.cpp:c2248f853469|2272|0x12 0|21|libxul.so|mozilla::dom::ScriptLoader::ProcessRequest|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptLoader.cpp:c2248f853469|1914|0xb 0|22|libxul.so|mozilla::dom::ScriptLoader::ProcessScriptElement|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptLoader.cpp:c2248f853469|1615|0xf 0|23|libxul.so|mozilla::dom::ScriptElement::MaybeProcessScript|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptElement.cpp:c2248f853469|147|0x13 0|24|libxul.so|nsIScriptElement::AttemptToExecute|hg:hg.mozilla.org/mozilla-central:dom/script/nsIScriptElement.h:c2248f853469|226|0x3 0|25|libxul.so|nsHtml5TreeOpExecutor::RunScript|hg:hg.mozilla.org/mozilla-central:parser/html/nsHtml5TreeOpExecutor.cpp:c2248f853469|735|0x10 0|26|libxul.so|nsHtml5TreeOpExecutor::RunFlushLoop|hg:hg.mozilla.org/mozilla-central:parser/html/nsHtml5TreeOpExecutor.cpp:c2248f853469|539|0x8 0|27|libxul.so|nsHtml5ExecutorReflusher::Run|hg:hg.mozilla.org/mozilla-central:parser/html/nsHtml5TreeOpExecutor.cpp:c2248f853469|56|0xd 0|28|libxul.so|mozilla::SchedulerGroup::Runnable::Run|hg:hg.mozilla.org/mozilla-central:xpcom/threads/SchedulerGroup.cpp:c2248f853469|396|0x1c 0|29|libxul.so|nsThread::ProcessNextEvent|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:c2248f853469|1033|0x15 0|30|libxul.so|NS_ProcessNextEvent|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:c2248f853469|508|0x11 0|31|libxul.so|mozilla::ipc::MessagePump::Run|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:c2248f853469|97|0xa 0|32|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c2248f853469|326|0x17 0|33|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c2248f853469|319|0x8 0|34|libxul.so|nsBaseAppShell::Run|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:c2248f853469|157|0xd 0|35|libxul.so|XRE_RunAppShell|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:c2248f853469|865|0x11 0|36|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:c2248f853469|269|0x5 0|37|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c2248f853469|326|0x17 0|38|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c2248f853469|319|0x8 0|39|libxul.so|XRE_InitChildProcess|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:c2248f853469|691|0x8 0|40|firefox|content_process_main|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:c2248f853469|63|0x14 0|41|firefox|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:c2248f853469|280|0x11 0|42|libc-2.23.so||||0x20830 0|43|firefox|MOZ_ReportAssertionFailure|hg:hg.mozilla.org/mozilla-central:mfbt/Assertions.h:c2248f853469|165|0x5
Flags: in-testsuite?
Summary: Uninteresting: different signature: Assertion failure: content->GetFlattenedTreeParentNodeForStyle() == &aContent, at /builds/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:1220 → Assertion failure: content->GetFlattenedTreeParentNodeForStyle() == &aContent, at /builds/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:1220
Summary: Assertion failure: content->GetFlattenedTreeParentNodeForStyle() == &aContent, at /builds/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:1220 → Assertion failure: IsFlattenedTreeChild(parent, child) (GetFlattenedTreeParent and ChildIterator don't agree, fix this!), at /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp:7524
Priority: -- → P1
That assertion is failing DOM invariants. In this case we've lost track of the XBL binding of a shadow host, so we can't find it's children, but the parent correctly gets the flattened tree parent.
Component: Layout → DOM: Core & HTML
Depends on: 1425759
bug 1425759 should have fixed this, and I can't reproduce the issue even if I make the test to use attachShadow
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Assignee: nobody → emilio
Flags: in-testsuite? → in-testsuite-
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: