thread '<unnamed>' panicked at 'Styling element with display: none parent', /builds/worker/workspace/build/src/servo/ports/geckolib/glue.rs:309:12

RESOLVED FIXED in Firefox 59

Status

()

defect
P2
normal
RESOLVED FIXED
2 years ago
Last year

People

(Reporter: jkratzer, Assigned: emilio)

Tracking

(Blocks 1 bug, {assertion, testcase})

59 Branch
mozilla59
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox59 fixed)

Details

Attachments

(2 attachments, 2 obsolete attachments)

Posted file trigger.html
Testcase found while fuzzing mozilla-central rev ca379fcca95b.

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|firefox|mozalloc_abort|hg:hg.mozilla.org/mozilla-central:memory/mozalloc/mozalloc_abort.cpp:ca379fcca95b|33|0x5
0|1|firefox|abort|hg:hg.mozilla.org/mozilla-central:memory/mozalloc/mozalloc_abort.cpp:ca379fcca95b|80|0x5
0|2|libxul.so|panic_abort::__rust_start_panic|git:github.com/rust-lang/rust:src/libpanic_abort/lib.rs:05e2e1c41414e8fc73d0f267ea8dab1a3eeeaa99|59|0x5
0|3|libxul.so|std::panicking::rust_panic|git:github.com/rust-lang/rust:src/libstd/panicking.rs:05e2e1c41414e8fc73d0f267ea8dab1a3eeeaa99|608|0x9
0|4|libxul.so|std::panicking::rust_panic_with_hook|git:github.com/rust-lang/rust:src/libstd/panicking.rs:05e2e1c41414e8fc73d0f267ea8dab1a3eeeaa99|593|0xd
0|5|libxul.so|std::panicking::begin_panic<&str>|git:github.com/rust-lang/rust:src/libstd/panicking.rs:05e2e1c41414e8fc73d0f267ea8dab1a3eeeaa99|538|0x12
0|6|libxul.so|geckoservo::glue::Servo_TraverseSubtree|hg:hg.mozilla.org/mozilla-central:servo/ports/geckolib/glue.rs:ca379fcca95b|309|0x18
0|7|libxul.so|mozilla::ServoStyleSet::StyleNewSubtree|hg:hg.mozilla.org/mozilla-central:layout/style/ServoStyleSet.cpp:ca379fcca95b|1015|0x8
0|8|libxul.so|nsCSSFrameConstructor::StyleNewChildRange|hg:hg.mozilla.org/mozilla-central:layout/base/nsCSSFrameConstructor.cpp:ca379fcca95b|7500|0x13
0|9|libxul.so|nsCSSFrameConstructor::ContentRangeInserted|hg:hg.mozilla.org/mozilla-central:layout/base/nsCSSFrameConstructor.cpp:ca379fcca95b|8067|0x13
0|10|libxul.so|nsCSSFrameConstructor::ContentInserted|hg:hg.mozilla.org/mozilla-central:layout/base/nsCSSFrameConstructor.cpp:ca379fcca95b|7885|0xf
0|11|libxul.so|mozilla::PresShell::ContentInserted|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:ca379fcca95b|4497|0x17
0|12|libxul.so|nsNodeUtils::ContentInserted|hg:hg.mozilla.org/mozilla-central:dom/base/nsNodeUtils.cpp:ca379fcca95b|228|0x14
0|13|libxul.so|nsINode::doInsertChildAt|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:ca379fcca95b|1649|0x8
0|14|libxul.so|nsINode::ReplaceOrInsertBefore|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:ca379fcca95b|2494|0x2f
0|15|libxul.so|nsINode::After|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:ca379fcca95b|1828|0x22
0|16|libxul.so|mozilla::dom::CharacterDataBinding::after|s3:gecko-generated-sources:881ae6b0ba6cb87846d340b245161db1c27debf81ac26be321ac710fe3653d7986073ce8cb89daafa322faffdec0537850a364deac99573b8698fa26046e6c40/dom/bindings/CharacterDataBinding.cpp:|441|0x12
0|17|libxul.so|mozilla::dom::GenericBindingMethod|hg:hg.mozilla.org/mozilla-central:dom/bindings/BindingUtils.cpp:ca379fcca95b|3042|0x9
0|18|libxul.so|js::CallJSNative|hg:hg.mozilla.org/mozilla-central:js/src/jscntxtinlines.h:ca379fcca95b|291|0x6
0|19|libxul.so|js::InternalCallOrConstruct|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ca379fcca95b|473|0xf
0|20|libxul.so|InternalCall|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ca379fcca95b|522|0xd
0|21|libxul.so|Interpret|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ca379fcca95b|528|0xf
0|22|libxul.so|js::RunScript|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ca379fcca95b|423|0xb
0|23|libxul.so|js::ExecuteKernel|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ca379fcca95b|706|0x5
0|24|libxul.so|js::Execute|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:ca379fcca95b|739|0x5
0|25|libxul.so|ExecuteScript|hg:hg.mozilla.org/mozilla-central:js/src/jsapi.cpp:ca379fcca95b|4693|0x11
0|26|libxul.so|ExecuteScript|hg:hg.mozilla.org/mozilla-central:js/src/jsapi.cpp:ca379fcca95b|4712|0x8
0|27|libxul.so|nsJSUtils::ExecutionContext::CompileAndExec|hg:hg.mozilla.org/mozilla-central:dom/base/nsJSUtils.cpp:ca379fcca95b|266|0xc
0|28|libxul.so|mozilla::dom::ScriptLoader::EvaluateScript|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptLoader.cpp:ca379fcca95b|2310|0x12
0|29|libxul.so|mozilla::dom::ScriptLoader::ProcessRequest|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptLoader.cpp:ca379fcca95b|1952|0xb
0|30|libxul.so|mozilla::dom::ScriptLoader::ProcessScriptElement|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptLoader.cpp:ca379fcca95b|1650|0xf
0|31|libxul.so|mozilla::dom::ScriptElement::MaybeProcessScript|hg:hg.mozilla.org/mozilla-central:dom/script/ScriptElement.cpp:ca379fcca95b|147|0x13
0|32|libxul.so|nsIScriptElement::AttemptToExecute|hg:hg.mozilla.org/mozilla-central:dom/script/nsIScriptElement.h:ca379fcca95b|226|0x3
0|33|libxul.so|nsHtml5TreeOpExecutor::RunScript|hg:hg.mozilla.org/mozilla-central:parser/html/nsHtml5TreeOpExecutor.cpp:ca379fcca95b|736|0x10
0|34|libxul.so|nsHtml5TreeOpExecutor::RunFlushLoop|hg:hg.mozilla.org/mozilla-central:parser/html/nsHtml5TreeOpExecutor.cpp:ca379fcca95b|540|0x8
0|35|libxul.so|nsHtml5ExecutorFlusher::Run|hg:hg.mozilla.org/mozilla-central:parser/html/nsHtml5StreamParser.cpp:ca379fcca95b|131|0x10
0|36|libxul.so|mozilla::SchedulerGroup::Runnable::Run|hg:hg.mozilla.org/mozilla-central:xpcom/threads/SchedulerGroup.cpp:ca379fcca95b|395|0x1c
0|37|libxul.so|nsThread::ProcessNextEvent|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:ca379fcca95b|1040|0x15
0|38|libxul.so|NS_ProcessNextEvent|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:ca379fcca95b|517|0x11
0|39|libxul.so|mozilla::ipc::MessagePump::Run|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:ca379fcca95b|97|0xa
0|40|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ca379fcca95b|326|0x17
0|41|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ca379fcca95b|319|0x8
0|42|libxul.so|nsBaseAppShell::Run|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:ca379fcca95b|157|0xd
0|43|libxul.so|XRE_RunAppShell|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:ca379fcca95b|875|0x11
0|44|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:ca379fcca95b|269|0x5
0|45|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ca379fcca95b|326|0x17
0|46|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:ca379fcca95b|319|0x8
0|47|libxul.so|XRE_InitChildProcess|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:ca379fcca95b|701|0x8
0|48|firefox|content_process_main|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:ca379fcca95b|63|0x14
0|49|firefox|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:ca379fcca95b|280|0x11
0|50|libc-2.23.so||||0x20830
0|51|firefox|MOZ_ReportAssertionFailure|hg:hg.mozilla.org/mozilla-central:mfbt/Assertions.h:ca379fcca95b|165|0x5
Flags: in-testsuite?
Nasty, creating a shadow root in a <style> element, I love it.
Flags: needinfo?(emilio)
Note that the test-case may be moot with the new Shadow DOM APIs, but I suspect there's an underlying issue here.
And indeed :)
Assignee: nobody → emilio
Flags: needinfo?(emilio)
Comment on attachment 8941126 [details]
Bug 1429088: Enable lazy frame construction for shadow trees.

https://reviewboard.mozilla.org/r/211398/#review217310

r=me assuming tests pass.
Attachment #8941126 - Flags: review?(bzbarsky) → review+
Pushed by ecoal95@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/0085a1b2cbdc
Enable lazy frame construction for shadow trees. r=bz
https://hg.mozilla.org/integration/autoland/rev/5b6bf3714f4e
Bug 1429125: Add a comment about why we can't remove the XUL check, at least yet. r=me
Keywords: leave-open
Comment on attachment 8941127 [details]
Bug 1429088: Only style children on non-lazy frame construction after we found an insertion point.

https://reviewboard.mozilla.org/r/211400/#review217580

The listbox changes are not obviously related.  Why are they here?

It would be really nice if the commit message explained _why_ this change is needed, or desirable.

::: layout/base/nsCSSFrameConstructor.cpp:7833
(Diff revision 1)
> -    CONTENT_INSERTED,
> -    CONTENT_REMOVED
> -};
> -
>  // Helper function to lookup the listbox body frame and send a notification
>  // for insertion or removal of content

s/insertion or// ?
Attachment #8941127 - Flags: review?(bzbarsky) → review-
Comment on attachment 8941128 [details]
Bug 1429088: Crashtest.

https://reviewboard.mozilla.org/r/211402/#review217582

r=me assuming this asserts/crashes without the patch...
Attachment #8941128 - Flags: review?(bzbarsky) → review+
I pushed the crashtest since it's technically fixed by lazy frame construction. Will submit a commit with the other patch and the explanation though, since it still affects XUL.
Attachment #8941126 - Attachment is obsolete: true
Attachment #8941128 - Attachment is obsolete: true
Comment on attachment 8941127 [details]
Bug 1429088: Only style children on non-lazy frame construction after we found an insertion point.

https://reviewboard.mozilla.org/r/211400/#review218394

Aha.  Now the listbox bits make sense.  :)  Thank you for the updated commit message!
Attachment #8941127 - Flags: review?(bzbarsky) → review+
Pushed by mh@glandium.org
https://hg.mozilla.org/integration/autoland/rev/c51cdba4c57d0e6b1c22e826d425c3329374fa35
Build docker images based on Debian wheezy to use instead of desktop-build. r=gps
[ Triage 2017/02/20: P2 ] P2 bugs may become P1's after further analysis. Please prioritize diagnosis and repair.
Priority: -- → P2
The first patch fixed this. The linebox bits will be fixed by bug 1452889.
Flags: needinfo?(emilio)
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Flags: in-testsuite? → in-testsuite+
Keywords: leave-open
Target Milestone: --- → mozilla59
You need to log in before you can comment on or make changes to this bug.