stylo: panic "pseudos can't generate sibling invalidations, since using them in other position that isn't the rightmost part of the selector is invalid (for now at least)" loading a MozReview page

RESOLVED DUPLICATE of bug 1381682

Status

()

Core
CSS Parsing and Computation
RESOLVED DUPLICATE of bug 1381682
9 months ago
9 months ago

People

(Reporter: heycam, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

9 months ago
I encountered this panic while loading a MozReview page:

thread '<unnamed>' panicked at 'pseudos can't generate sibling invalidations, since using them in other position that isn't the rightmost part of the selector is invalid (for now at least)', /z/moz/d/servo/components/style/invalidation/element/invalidator.rs:269
(Reporter)

Comment 1

9 months ago
Here is some trace output just before the assertion:

DEBUG:style::invalidation::element::invalidator: TreeStyleInvalidator::process_invalidation(<_moz_generated_content_after> (0x7f46eeff53a0), Invalidation(:first-child.diff-container))
DEBUG:style::invalidation::element::invalidator: TreeStyleInvalidator::process_invalidation(<_moz_generated_content_after> (0x7f46eeff53a0), Invalidation(:not(.diff-container)))
DEBUG:style::invalidation::element::invalidator:  > Invalidation matched, next: Invalidation(.diff-container), (NextSibling)
DEBUG:style::invalidation::element::invalidator: TreeStyleInvalidator::process_invalidation(<_moz_generated_content_after> (0x7f46eeff53a0), Invalidation(:first-child.diff-container))
DEBUG:style::invalidation::element::invalidator: TreeStyleInvalidator::process_invalidation(<_moz_generated_content_after> (0x7f46eeff53a0), Invalidation(:not(.diff-container)))
DEBUG:style::invalidation::element::invalidator:  > Invalidation matched, next: Invalidation(.diff-container), (NextSibling)
DEBUG:style::invalidation::element::invalidator: StyleTreeInvalidator::invalidate_descendants(<_moz_generated_content_after> (0x7f46eeff53a0))
DEBUG:style::invalidation::element::invalidator:  > [Invalidation(:first-child.diff-container), Invalidation(:not(.diff-container)), Invalidation(:first-child.diff-container), Invalidation(:not(.diff-container))
]

This makes me think that we shouldn't be matching the invalidation (:not(.diff-container)) here against the element-backed pseudo.  Should we be taking into account that the <_moz_generated_content_before> element is NAC, and so invalidations that came from document style sheet rules can be ignored?
Flags: needinfo?(emilio+bugs)
(Reporter)

Comment 2

9 months ago
Oh, this is already being discussed in bug 1381682.
Status: NEW → RESOLVED
Last Resolved: 9 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1381682
Flags: needinfo?(emilio+bugs)
You need to log in before you can comment on or make changes to this bug.