High frequency Hit MOZ_CRASH(Resolving style on <menuitem id="menu_bookmarkThisPage" command="Browser:AddBookmarkAs" key="addBookmarkAsKb" data-l10n-id="menu-bookmark-edit" label="Edit This Bookmark"> (0x7f5482d4e040) without current styles: Element
Categories
(Core :: Layout, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox97 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: emilio)
References
Details
(Keywords: intermittent-failure, Whiteboard: [retriggered][stockwell disable-recommended])
Crash Data
Attachments
(2 files)
Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=361421911&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/SO36H-YVR42UVXwvTZxzuw/runs/0/artifacts/public/logs/live_backing.log
[task 2021-12-16T00:09:28.366Z] 00:09:28 INFO - GECKO(9663) | Hit MOZ_CRASH(Resolving style on <menuitem id="menu_bookmarkThisPage" command="Browser:AddBookmarkAs" key="addBookmarkAsKb" data-l10n-id="menu-bookmark-edit" label="Edit This Bookmark"> (0x7f5482d4e040) without current styles: ElementData { styles: ElementStyles { primary: Some(Some(0x7f5480a0d420)), pseudos: EagerPseudoStyles(None) }, damage: GeckoRestyleDamage(nsChangeHint(0)), hint: (empty), flags: PRIMARY_STYLE_REUSED_VIA_RULE_NODE }) at servo/ports/geckolib/glue.rs:5627
[task 2021-12-16T00:09:28.370Z] 00:09:28 INFO - GECKO(9663) | #01: RustMozCrash [mozglue/static/rust/wrappers.cpp:18]
[task 2021-12-16T00:09:28.372Z] 00:09:28 INFO - GECKO(9663) | #02: mozglue_static::panic_hook [mozglue/static/rust/lib.rs:91]
[task 2021-12-16T00:09:28.374Z] 00:09:28 INFO - GECKO(9663) | #03: core::ops::function::Fn::call [git:github.com/rust-lang/rust:library/core/src/ops/function.rs:f1edd0429582dd29cccacaf50fd134b05593bd9c:70]
[task 2021-12-16T00:09:28.376Z] 00:09:28 INFO - GECKO(9663) | #04: std::panicking::rust_panic_with_hook [git:github.com/rust-lang/rust:library/std/src/panicking.rs:f1edd0429582dd29cccacaf50fd134b05593bd9c:631]
[task 2021-12-16T00:09:28.378Z] 00:09:28 INFO - GECKO(9663) | #05: std::panicking::begin_panic_handler::{{closure}} [git:github.com/rust-lang/rust:library/std/src/panicking.rs:f1edd0429582dd29cccacaf50fd134b05593bd9c:521]
[task 2021-12-16T00:09:28.380Z] 00:09:28 INFO - GECKO(9663) | #06: std::sys_common::backtrace::__rust_end_short_backtrace [git:github.com/rust-lang/rust:library/std/src/sys_common/backtrace.rs:f1edd0429582dd29cccacaf50fd134b05593bd9c:139]
[task 2021-12-16T00:09:28.393Z] 00:09:28 INFO - GECKO(9663) | #07: rust_begin_unwind [git:github.com/rust-lang/rust:library/std/src/panicking.rs:f1edd0429582dd29cccacaf50fd134b05593bd9c:517]
[task 2021-12-16T00:09:28.393Z] 00:09:28 INFO - GECKO(9663) | #08: std::panicking::begin_panic_fmt [git:github.com/rust-lang/rust:library/std/src/panicking.rs:f1edd0429582dd29cccacaf50fd134b05593bd9c:460]
[task 2021-12-16T00:09:28.395Z] 00:09:28 INFO - GECKO(9663) | #09: Servo_ResolveStyle [servo/ports/geckolib/glue.rs:5627]
[task 2021-12-16T00:09:28.397Z] 00:09:28 INFO - GECKO(9663) | #10: nsCSSFrameConstructor::ResolveComputedStyle(nsIContent*) [layout/base/nsCSSFrameConstructor.cpp:4652]
[task 2021-12-16T00:09:28.398Z] 00:09:28 INFO - GECKO(9663) | #11: nsCSSFrameConstructor::AddFrameConstructionItems(nsFrameConstructorState&, nsIContent*, bool, mozilla::ComputedStyle const&, nsCSSFrameConstructor::InsertionPoint const&, nsCSSFrameConstructor::FrameConstructionItemList&, mozilla::EnumSet<nsCSSFrameConstructor::ItemFlag, unsigned char>) [layout/base/nsCSSFrameConstructor.cpp:5165]
[task 2021-12-16T00:09:28.400Z] 00:09:28 INFO - GECKO(9663) | #12: nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState&, nsIContent*, mozilla::ComputedStyle*, nsContainerFrame*, bool, nsFrameList&, bool, nsIFrame*) [layout/base/nsCSSFrameConstructor.cpp:9663]
[task 2021-12-16T00:09:28.401Z] 00:09:28 INFO - GECKO(9663) | #13: nsCSSFrameConstructor::GenerateChildFrames(nsContainerFrame*) [layout/base/nsCSSFrameConstructor.cpp:11712]
[task 2021-12-16T00:09:28.403Z] 00:09:28 INFO - GECKO(9663) | #14: nsMenuPopupFrame::GenerateFrames() [layout/xul/nsMenuPopupFrame.cpp:1801]
[task 2021-12-16T00:09:28.404Z] 00:09:28 INFO - GECKO(9663) | #15: nsXULPopupManager::BeginShowingPopup(PendingPopup const&, bool, bool) [layout/xul/nsXULPopupManager.cpp:1566]
[task 2021-12-16T00:09:28.404Z] 00:09:28 INFO - GECKO(9663) | #16: mozilla::detail::RunnableFunction<nsXULPopupManager::ShowMenu(nsIContent*, bool, bool)::$_1>::Run() [xpcom/threads/nsThreadUtils.h:531]
[task 2021-12-16T00:09:28.405Z] 00:09:28 INFO - GECKO(9663) | #17: mozilla::RunnableTask::Run() [xpcom/threads/TaskController.cpp:469]
[task 2021-12-16T00:09:28.406Z] 00:09:28 INFO - GECKO(9663) | #18: mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) [xpcom/threads/TaskController.cpp:771]
[task 2021-12-16T00:09:28.407Z] 00:09:28 INFO - GECKO(9663) | #19: mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) [xpcom/threads/TaskController.cpp:607]
[task 2021-12-16T00:09:28.407Z] 00:09:28 INFO - GECKO(9663) | #20: mozilla::TaskController::ProcessPendingMTTask(bool) [xpcom/threads/TaskController.cpp:391]
[task 2021-12-16T00:09:28.408Z] 00:09:28 INFO - GECKO(9663) | #21: mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_0>::Run() [xpcom/threads/nsThreadUtils.h:532]
[task 2021-12-16T00:09:28.409Z] 00:09:28 INFO - GECKO(9663) | #22: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1187]
[task 2021-12-16T00:09:28.409Z] 00:09:28 INFO - GECKO(9663) | #23: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:467]
[task 2021-12-16T00:09:28.410Z] 00:09:28 INFO - GECKO(9663) | #24: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:85]
[task 2021-12-16T00:09:28.411Z] 00:09:28 INFO - GECKO(9663) | #25: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:331]
[task 2021-12-16T00:09:28.411Z] 00:09:28 INFO - GECKO(9663) | #26: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:307]
[task 2021-12-16T00:09:28.412Z] 00:09:28 INFO - GECKO(9663) | #27: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2021-12-16T00:09:28.413Z] 00:09:28 INFO - GECKO(9663) | #28: nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:296]
[task 2021-12-16T00:09:28.414Z] 00:09:28 INFO - GECKO(9663) | #29: XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:5362]
[task 2021-12-16T00:09:28.415Z] 00:09:28 INFO - GECKO(9663) | #30: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:5547]
[task 2021-12-16T00:09:28.416Z] 00:09:28 INFO - GECKO(9663) | #31: XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:5606]
[task 2021-12-16T00:09:28.419Z] 00:09:28 INFO - GECKO(9663) | #32: ??? [/builds/worker/workspace/build/application/firefox/firefox + 0x425d6]
[task 2021-12-16T00:09:28.420Z] 00:09:28 INFO - GECKO(9663) | #33: __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6 + 0x21b97]
[task 2021-12-16T00:09:28.421Z] 00:09:28 INFO - GECKO(9663) | #34: ??? [/builds/worker/workspace/build/application/firefox/firefox + 0x42149]
[task 2021-12-16T00:09:28.422Z] 00:09:28 INFO - GECKO(9663) | #35: ??? (???:???)
[task 2021-12-16T00:09:28.423Z] 00:09:28 INFO - GECKO(9663) | ExceptionHandler::GenerateDump cloned child 11917
[task 2021-12-16T00:09:28.424Z] 00:09:28 INFO - GECKO(9663) | ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2021-12-16T00:09:28.425Z] 00:09:28 INFO - GECKO(9663) | ExceptionHandler::WaitForContinueSignal waiting for continue signal...
Comment 1•3 years ago
•
|
||
Moving across to layout for investigation - I don't think we've made any changes to the UI part of this code, unless it was somewhere in CSS.
Note bug 1746309 is also related.
Updated•3 years ago
|
Comment 2•3 years ago
|
||
Daniel, could you investigate this frequent CI crash?
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 5•3 years ago
|
||
Thanks! I couldn't repro the test failing in bug 1746309 but I could repro this one with enough patience, will look.
Assignee | ||
Comment 8•3 years ago
|
||
The root of the problem is that nsMenuPopupFrame::GenerateFrames calls
into frame construction without making sure that styles are clean. So it
was pretty much working by chance, sorta.
I was going to fix this by adding the necessary flushes before calling
GenerateFrames, but on closer inspection, the front-end has effectively
already implemented this optimization by only generating the relevant
DOM on popupShowing:
And for menulists on creation:
After bug 1714846 we even destroy frames as needed, for panels.
So I think all of this complexity is unwarranted, and if we need some of
it we should implement it in the front-end like bug 1714846 did, and I'd
rather do this than flushing styles and so on.
Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•3 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 12•3 years ago
|
||
This is almost a revert of bug 1741089 (just with the relevant test fix
and so on). With the previous patch, for something like:
<menupopup>
<menuitem />
</menupopup>
We would still generate the frames for the menuitem. That causes various
a11y tests to fail and starts loading images used by the menuitem which
was caught by browser_startup_images.js.
Make the children completely invisible to layout by keeping them
unslotted. This makes getComputedStyle on them return an empty style,
but only one test was depending on that.
Depends on D134331
Comment 13•3 years ago
|
||
Comment 14•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3cd27ead74b3
https://hg.mozilla.org/mozilla-central/rev/69410a2138ec
Comment hidden (Intermittent Failures Robot) |
Description
•