Closed Bug 1618903 Opened 4 years ago Closed 4 years ago

"Assertion failure: cachedStyles[i]->EqualForCachedAnonymousContentStyle(*cs)" when opening hamburger menu with RDM active

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox75 --- fixed

People

(Reporter: botond, Assigned: emilio)

Details

Attachments

(1 file)

STR

  1. Run a debug build of Firefox
  2. Load https://bug1489653.bmoattachments.org/attachment.cgi?id=9127579
  3. Enter Responsive Design Mode
  4. Click on the hamburger menu

I get the following assertion failure, leading to a crash:

Actual style:
  Properties:
    z-index: 0
    grid-column-start: 1
    grid-row-start: 1
    min-block-size: 0px
    min-height: 0px
  Rules:
    scrollbar[orient="vertical"] { -moz-appearance: scrollbar-vertical; }
    scrollbar[orient="vertical"], slider[orient="vertical"], thumb[orient="vertical"] { -moz-box-orient: vertical; }
    [orient="vertical"] { -moz-box-orient: vertical !important; }
    scrollbar { -moz-appearance: scrollbar-horizontal; cursor: default; background-color: rgb(240, 240, 240); }
    stack > *|* { grid-area: 1 / 1; z-index: 0; min-height: 0px; }
    scrollbar, scrollbarbutton, scrollcorner, slider, thumb { user-select: none; }
    scrollcorner:-moz-native-anonymous-no-specificity, resizer:-moz-native-anonymous-no-specificity, scrollbar:-moz-native-anonymous-no-specificity, scrollbarbutton:-moz-native-anonymous-no-specificity, slider:-moz-native-anonymous-no-specificity { border-block: initial; border-inline: initial; border-start-start-radius: initial; border-start-end-radius: initial; border-end-start-radius: initial; border-end-end-radius: initial; overflow-inline: initial; overflow-block: initial; overscroll-behavior-inline: initial; overscroll-behavior-block: initial; margin-block: initial; margin-inline: initial; scroll-margin-block: initial; scroll-margin-inline: initial; padding-block: initial; padding-inline: initial; scroll-padding-block: initial; scroll-padding-inline: initial; inset-block: initial; inset-inline: initial; block-size: initial; min-block-size: initial; max-block-size: initial; inline-size: initial; min-inline-size: initial; max-inline-size: initial; background: initial; background-blend-mode: initial; border: initial; border-radius: initial; box-decoration-break: initial; -moz-float-edge: initial; position: initial; float: initial; clear: initial; overflow: initial; overflow-anchor: initial; transition: initial; animation: initial; transform: initial; rotate: initial; scale: initial; translate: initial; offset: initial; scroll-behavior: initial; scroll-snap-align: initial; scroll-snap-type: initial; overscroll-behavior: initial; isolation: initial; break-after: initial; break-before: initial; break-inside: initial; resize: initial; perspective: initial; perspective-origin: initial; backface-visibility: initial; transform-box: initial; transform-style: initial; transform-origin: initial; contain: initial; -moz-appearance: initial; -moz-orient: initial; will-change: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; touch-action: initial; -webkit-line-clamp: initial; columns: initial; column-fill: initial; column-rule: initial; column-span: initial; content: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; opacity: initial; box-shadow: initial; clip: initial; filter: initial; mix-blend-mode: initial; font-synthesis: initial; writing-mode: initial; text-orientation: initial; color-adjust: initial; image-rendering: initial; image-orientation: initial; dominant-baseline: initial; text-anchor: initial; color-interpolation: initial; color-interpolation-filters: initial; fill: initial; fill-opacity: initial; fill-rule: initial; shape-rendering: initial; stroke: initial; stroke-width: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-dasharray: initial; stroke-dashoffset: initial; clip-rule: initial; marker: initial; paint-order: initial; -moz-context-properties: initial; border-collapse: initial; empty-cells: initial; caption-side: initial; border-spacing: initial; color: initial; text-transform: initial; hyphens: initial; -moz-text-size-adjust: initial; text-indent: initial; overflow-wrap: initial; word-break: initial; text-justify: initial; text-align-last: initial; text-align: initial; letter-spacing: initial; word-spacing: initial; white-space: initial; text-shadow: initial; text-emphasis: initial; text-emphasis-position: initial; -moz-tab-size: initial; line-break: initial; -webkit-text-fill-color: initial; -webkit-text-stroke: initial; ruby-align: initial; ruby-position: initial; text-combine-upright: initial; text-rendering: initial; -moz-control-character-visibility: initial; text-underline-offset: initial; text-underline-position: initial; text-decoration-skip-ink: initial; cursor: initial; -moz-user-input: initial; -moz-user-modify: initial; caret-color: initial; scrollbar-color: initial; list-style: initial; quotes: initial; -moz-image-region: initial; margin: initial; scroll-margin: initial; outline: initial; -moz-outline-radius: initial; outline-offset: initial; padding: initial; scroll-padding: initial; inset: initial; z-index: initial; flex-flow: initial; place-content: initial; align-items: initial; flex: initial; place-self: initial; order: initial; width: initial; min-width: initial; max-width: initial; height: initial; min-height: initial; max-height: initial; object-fit: initial; object-position: initial; grid-area: initial; grid: initial; gap: initial; vector-effect: initial; stop-color: initial; stop-opacity: initial; flood-color: initial; flood-opacity: initial; lighting-color: initial; mask-type: initial; clip-path: initial; mask: initial; x: initial; y: initial; cx: initial; cy: initial; rx: initial; ry: initial; r: initial; table-layout: initial; text-overflow: initial; text-decoration: initial; ime-mode: initial; scrollbar-width: initial; -moz-window-dragging: initial; -moz-force-broken-image-icon: initial; -moz-box-align: initial; -moz-box-direction: initial; -moz-box-flex: initial; -moz-box-orient: initial; -moz-box-pack: initial; -moz-box-ordinal-group: initial; visibility: inherit; pointer-events: inherit; -moz-list-reversed: initial; -moz-font-smoothing-background-color: initial; -moz-min-font-size-ratio: initial; direction: ltr; font: 16px sans-serif; justify-items: start; vertical-align: initial !important; -moz-user-focus: ignore; user-select: none; display: -moz-box; box-sizing: border-box; }
    * { -moz-user-focus: ignore; user-select: none; display: -moz-box; box-sizing: border-box; }
Expected style:
  Properties:
    z-index: auto
    grid-column-start: auto
    grid-row-start: auto
    min-block-size: auto
    min-height: auto
  Rules:
    scrollbar[orient="vertical"] { -moz-appearance: scrollbar-vertical; }
    scrollbar[orient="vertical"], slider[orient="vertical"], thumb[orient="vertical"] { -moz-box-orient: vertical; }
    [orient="vertical"] { -moz-box-orient: vertical !important; }
    scrollbar { -moz-appearance: scrollbar-horizontal; cursor: default; background-color: rgb(240, 240, 240); }
    scrollbar, scrollbarbutton, scrollcorner, slider, thumb { user-select: none; }
    scrollcorner:-moz-native-anonymous-no-specificity, resizer:-moz-native-anonymous-no-specificity, scrollbar:-moz-native-anonymous-no-specificity, scrollbarbutton:-moz-native-anonymous-no-specificity, slider:-moz-native-anonymous-no-specificity { border-block: initial; border-inline: initial; border-start-start-radius: initial; border-start-end-radius: initial; border-end-start-radius: initial; border-end-end-radius: initial; overflow-inline: initial; overflow-block: initial; overscroll-behavior-inline: initial; overscroll-behavior-block: initial; margin-block: initial; margin-inline: initial; scroll-margin-block: initial; scroll-margin-inline: initial; padding-block: initial; padding-inline: initial; scroll-padding-block: initial; scroll-padding-inline: initial; inset-block: initial; inset-inline: initial; block-size: initial; min-block-size: initial; max-block-size: initial; inline-size: initial; min-inline-size: initial; max-inline-size: initial; background: initial; background-blend-mode: initial; border: initial; border-radius: initial; box-decoration-break: initial; -moz-float-edge: initial; position: initial; float: initial; clear: initial; overflow: initial; overflow-anchor: initial; transition: initial; animation: initial; transform: initial; rotate: initial; scale: initial; translate: initial; offset: initial; scroll-behavior: initial; scroll-snap-align: initial; scroll-snap-type: initial; overscroll-behavior: initial; isolation: initial; break-after: initial; break-before: initial; break-inside: initial; resize: initial; perspective: initial; perspective-origin: initial; backface-visibility: initial; transform-box: initial; transform-style: initial; transform-origin: initial; contain: initial; -moz-appearance: initial; -moz-orient: initial; will-change: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; touch-action: initial; -webkit-line-clamp: initial; columns: initial; column-fill: initial; column-rule: initial; column-span: initial; content: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; opacity: initial; box-shadow: initial; clip: initial; filter: initial; mix-blend-mode: initial; font-synthesis: initial; writing-mode: initial; text-orientation: initial; color-adjust: initial; image-rendering: initial; image-orientation: initial; dominant-baseline: initial; text-anchor: initial; color-interpolation: initial; color-interpolation-filters: initial; fill: initial; fill-opacity: initial; fill-rule: initial; shape-rendering: initial; stroke: initial; stroke-width: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-dasharray: initial; stroke-dashoffset: initial; clip-rule: initial; marker: initial; paint-order: initial; -moz-context-properties: initial; border-collapse: initial; empty-cells: initial; caption-side: initial; border-spacing: initial; color: initial; text-transform: initial; hyphens: initial; -moz-text-size-adjust: initial; text-indent: initial; overflow-wrap: initial; word-break: initial; text-justify: initial; text-align-last: initial; text-align: initial; letter-spacing: initial; word-spacing: initial; white-space: initial; text-shadow: initial; text-emphasis: initial; text-emphasis-position: initial; -moz-tab-size: initial; line-break: initial; -webkit-text-fill-color: initial; -webkit-text-stroke: initial; ruby-align: initial; ruby-position: initial; text-combine-upright: initial; text-rendering: initial; -moz-control-character-visibility: initial; text-underline-offset: initial; text-underline-position: initial; text-decoration-skip-ink: initial; cursor: initial; -moz-user-input: initial; -moz-user-modify: initial; caret-color: initial; scrollbar-color: initial; list-style: initial; quotes: initial; -moz-image-region: initial; margin: initial; scroll-margin: initial; outline: initial; -moz-outline-radius: initial; outline-offset: initial; padding: initial; scroll-padding: initial; inset: initial; z-index: initial; flex-flow: initial; place-content: initial; align-items: initial; flex: initial; place-self: initial; order: initial; width: initial; min-width: initial; max-width: initial; height: initial; min-height: initial; max-height: initial; object-fit: initial; object-position: initial; grid-area: initial; grid: initial; gap: initial; vector-effect: initial; stop-color: initial; stop-opacity: initial; flood-color: initial; flood-opacity: initial; lighting-color: initial; mask-type: initial; clip-path: initial; mask: initial; x: initial; y: initial; cx: initial; cy: initial; rx: initial; ry: initial; r: initial; table-layout: initial; text-overflow: initial; text-decoration: initial; ime-mode: initial; scrollbar-width: initial; -moz-window-dragging: initial; -moz-force-broken-image-icon: initial; -moz-box-align: initial; -moz-box-direction: initial; -moz-box-flex: initial; -moz-box-orient: initial; -moz-box-pack: initial; -moz-box-ordinal-group: initial; visibility: inherit; pointer-events: inherit; -moz-list-reversed: initial; -moz-font-smoothing-background-color: initial; -moz-min-font-size-ratio: initial; direction: ltr; font: 16px sans-serif; justify-items: start; vertical-align: initial !important; -moz-user-focus: ignore; user-select: none; display: -moz-box; box-sizing: border-box; }
    * { -moz-user-focus: ignore; user-select: none; display: -moz-box; box-sizing: border-box; }
Assertion failure: cachedStyles[i]->EqualForCachedAnonymousContentStyle(*cs) (cached anonymous content styles should be identical to those we would compute normally), at /home/botond/dev/mozilla/central/layout/base/nsCSSFrameConstructor.cpp:3923

I couldn't repro assuming it's the hamburger menu in the browser UI. But can you check if the patch above fixes the issue?

Flags: needinfo?(botond)

It does seem to fix the issue!

Flags: needinfo?(botond)
Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/991ef93c0856
Stack grid item rule shouldn't apply to anonymous children. r=dholbert
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
QA Whiteboard: [qa-75b-p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: