Closed Bug 1427789 Opened 7 years ago Closed 4 years ago

Assertion failure: (last == doc) == wasInComposedDoc || (IsRemoveNotification::No == IsRemoveNotification::Yes && !strcmp("AttributeWillChange", "NativeAnonymousChildListChange")), at /builds/worker/workspace/build/src/dom/base/nsNodeUtils.cpp:160

Categories

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

59 Branch
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox59 --- affected

People

(Reporter: jkratzer, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase, Whiteboard: [bugmon:confirmed])

Attachments

(1 file)

Attached file testcase (deleted) —
Testcase found while fuzzing mozilla-central rev ac93fdadf102. rax = 0x0000000000000000 rdx = 0x0000000000000000 rcx = 0x00007f30398452ad rbx = 0x00007f30175d4b80 rsi = 0x00007f3039b14770 rdi = 0x00007f3039b13540 rbp = 0x00007ffd2d578090 rsp = 0x00007ffd2d578020 r8 = 0x00007f3039b14770 r9 = 0x00007f303adfa740 r10 = 0x0000000000000039 r11 = 0x0000000000000000 r12 = 0x00007f301fbe1000 r13 = 0x00007ffd2d578048 r14 = 0x00007f301612e8b0 r15 = 0x0000000000000000 rip = 0x00007f30292d89a7 OS|Linux|0.0.0 Linux 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 CPU|amd64|family 6 model 78 stepping 3|1 GPU||| Crash|SIGSEGV|0x0|0 0|0|libxul.so|nsNodeUtils::AttributeWillChange|hg:hg.mozilla.org/mozilla-central:dom/base/nsNodeUtils.cpp:ac93fdadf102|158|0x18 0|1|libxul.so|nsDOMCSSAttributeDeclaration::GetCSSDeclaration|hg:hg.mozilla.org/mozilla-central:layout/style/nsDOMCSSAttrDeclaration.cpp:ac93fdadf102|122|0x1b 0|2|libxul.so|nsDOMCSSDeclaration::ParsePropertyValue|hg:hg.mozilla.org/mozilla-central:layout/style/nsDOMCSSDeclaration.cpp:ac93fdadf102|304|0x6 0|3|libxul.so|mozilla::dom::CSS2PropertiesBinding::set_margin|hg:hg.mozilla.org/mozilla-central:layout/style/nsCSSPropList.h:ac93fdadf102|2545|0x6 0|4|libxul.so|mozilla::dom::GenericBindingSetter|hg:hg.mozilla.org/mozilla-central:dom/bindings/BindingUtils.cpp:ac93fdadf102|3003|0x10 0|5|libxul.so|js::CallJSNative|hg:hg.mozilla.org/mozilla-central:js/src/jscntxtinlines.h:ac93fdadf102|291|0x6 0|6|libxul.so|js::InternalCallOrConstruct|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|473|0xf 0|7|libxul.so|InternalCall|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|522|0xd 0|8|libxul.so|js::Call|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|541|0x5 0|9|libxul.so|js::CallSetter|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|670|0x5 0|10|libxul.so|SetExistingProperty|hg:hg.mozilla.org/mozilla-central:js/src/vm/NativeObject.cpp:ac93fdadf102|2736|0xb 0|11|libxul.so|js::NativeSetProperty<(js::QualifiedBool)1u>|hg:hg.mozilla.org/mozilla-central:js/src/vm/NativeObject.cpp:ac93fdadf102|2764|0x2f 0|12|libxul.so|js::SetPropertyIgnoringNamedGetter|hg:hg.mozilla.org/mozilla-central:js/src/vm/NativeObject.h:ac93fdadf102|1637|0x2c 0|13|libxul.so|mozilla::dom::DOMProxyHandler::set|hg:hg.mozilla.org/mozilla-central:dom/bindings/DOMJSProxyHandler.cpp:ac93fdadf102|221|0x26 0|14|libxul.so|js::Proxy::setInternal|hg:hg.mozilla.org/mozilla-central:js/src/proxy/Proxy.cpp:ac93fdadf102|404|0x23 0|15|libxul.so|js::Proxy::set|hg:hg.mozilla.org/mozilla-central:js/src/proxy/Proxy.cpp:ac93fdadf102|414|0x19 0|16|libxul.so|js::SetProperty|hg:hg.mozilla.org/mozilla-central:js/src/vm/NativeObject.h:ac93fdadf102|1636|0x5 0|17|libxul.so|Interpret|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|270|0x5 0|18|libxul.so|js::RunScript|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|423|0xb 0|19|libxul.so|js::InternalCallOrConstruct|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|495|0xf 0|20|libxul.so|InternalCall|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|522|0xd 0|21|libxul.so|js::Call|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ac93fdadf102|541|0x5 0|22|libxul.so|JS::Call|hg:hg.mozilla.org/mozilla-central:js/src/jsapi.cpp:ac93fdadf102|3029|0x1c 0|23|libxul.so|mozilla::dom::EventListener::HandleEvent|s3:gecko-generated-sources:11dcc5f3aa4382b1117fa0b86a3cf43bb87c7f5f278e2943cc5311d11c6a1f0eeb861ca2ee05b0a80a616ed128aa73c18065f0eee6f709d1e9a246f773e75752/dom/bindings/EventListenerBinding.cpp:|47|0x5 0|24|libxul.so|mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*>|s3:gecko-generated-sources:5fb27134dec5c683a890d7dc45ae33c1a6940b182eb54e11127bf808c94b1a4a3cfcdb8b5ea706a480e12d29f14e84233dba5438c016cf1e8418b54fcb42f1d8/dist/include/mozilla/dom/EventListenerBinding.h:|65|0x1c 0|25|libxul.so|mozilla::EventListenerManager::HandleEventSubType|hg:hg.mozilla.org/mozilla-central:dom/events/EventListenerManager.cpp:ac93fdadf102|1108|0x36 0|26|libxul.so|mozilla::EventListenerManager::HandleEventInternal|hg:hg.mozilla.org/mozilla-central:dom/events/EventListenerManager.cpp:ac93fdadf102|1286|0x15 0|27|libxul.so|mozilla::EventTargetChainItem::HandleEvent|hg:hg.mozilla.org/mozilla-central:dom/events/EventListenerManager.h:ac93fdadf102|376|0xa 0|28|libxul.so|mozilla::EventTargetChainItem::HandleEventTargetChain|hg:hg.mozilla.org/mozilla-central:dom/events/EventDispatcher.cpp:ac93fdadf102|496|0xf 0|29|libxul.so|mozilla::EventDispatcher::Dispatch|hg:hg.mozilla.org/mozilla-central:dom/events/EventDispatcher.cpp:ac93fdadf102|866|0x8 0|30|libxul.so|nsDocumentViewer::LoadComplete|hg:hg.mozilla.org/mozilla-central:layout/base/nsDocumentViewer.cpp:ac93fdadf102|1070|0x25 0|31|libxul.so|nsDocShell::EndPageLoad|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:ac93fdadf102|7902|0x18 0|32|libxul.so|nsDocShell::OnStateChange|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:ac93fdadf102|7695|0x18 0|33|libxul.so|nsDocLoader::DoFireOnStateChange|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:ac93fdadf102|1319|0x2b 0|34|libxul.so|nsDocLoader::doStopDocumentLoad|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:ac93fdadf102|862|0x22 0|35|libxul.so|nsDocLoader::DocLoaderIsEmpty|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:ac93fdadf102|751|0xf 0|36|libxul.so|nsDocLoader::OnStopRequest|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:ac93fdadf102|633|0x16 0|37|libxul.so|mozilla::net::nsLoadGroup::RemoveRequest|hg:hg.mozilla.org/mozilla-central:netwerk/base/nsLoadGroup.cpp:ac93fdadf102|629|0x1f 0|38|libxul.so|nsDocument::DoUnblockOnload|hg:hg.mozilla.org/mozilla-central:dom/base/nsDocument.cpp:ac93fdadf102|9052|0x20 0|39|libxul.so|nsDocument::UnblockOnload|hg:hg.mozilla.org/mozilla-central:dom/base/nsDocument.cpp:ac93fdadf102|8974|0x5 0|40|libxul.so|nsDocument::DispatchContentLoadedEvents|hg:hg.mozilla.org/mozilla-central:dom/base/nsDocument.cpp:ac93fdadf102|5606|0x11 0|41|libxul.so|mozilla::detail::RunnableMethodImpl<nsDocument*, void (nsDocument::*)(), true, (mozilla::RunnableKind)0u>::Run|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.h:ac93fdadf102|1142|0x13 0|42|libxul.so|mozilla::SchedulerGroup::Runnable::Run|hg:hg.mozilla.org/mozilla-central:xpcom/threads/SchedulerGroup.cpp:ac93fdadf102|395|0x1c 0|43|libxul.so|nsThread::ProcessNextEvent|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:ac93fdadf102|1039|0x15 0|44|libxul.so|NS_ProcessNextEvent|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:ac93fdadf102|510|0x11 0|45|libxul.so|mozilla::ipc::MessagePump::Run|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:ac93fdadf102|97|0xa 0|46|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ac93fdadf102|326|0x17 0|47|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ac93fdadf102|319|0x8 0|48|libxul.so|nsBaseAppShell::Run|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:ac93fdadf102|157|0xd 0|49|libxul.so|XRE_RunAppShell|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:ac93fdadf102|875|0x11 0|50|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:ac93fdadf102|269|0x5 0|51|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ac93fdadf102|326|0x17 0|52|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ac93fdadf102|319|0x8 0|53|libxul.so|XRE_InitChildProcess|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:ac93fdadf102|701|0x8 0|54|firefox|content_process_main|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:ac93fdadf102|63|0x14 0|55|firefox|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:ac93fdadf102|280|0x11 0|56|libc-2.23.so||||0x20830 0|57|firefox|MOZ_ReportAssertionFailure|hg:hg.mozilla.org/mozilla-central:mfbt/Assertions.h:ac93fdadf102|165|0x5
Creating a shadow root in a <marquee>? That's evil :). Still shouldn't happen, will take a look.
Well, so this is overriding the ShadowRoot XBL binding with the <marquee> one, and thus we don't unbind the anon content from: https://searchfox.org/mozilla-central/rev/51cd1093c5c2113e7b041e8cc5c9bf2186abda13/dom/base/Element.cpp#2039 So the anon content still believes that it's in the composed doc.
Depends on: 1425759
Priority: -- → P2
Component: DOM → DOM: Core & HTML
Attachment #8939566 - Attachment description: trigger.html → testcase

Bugmon Analysis:
Unable to reproduce bug using the following builds:

mozilla-central 20210223085042-916497e295fe
mozilla-central 20200225042307-7d59549f2fda

Whiteboard: [bugmon:confirmed]

This seems to have been fixed somewhere more than a year ago.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: