Closed Bug 1843019 Opened 2 years ago Closed 2 years ago

Intermittent /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | single tracking bug

Categories

(Core :: CSS Parsing and Computation, defect, P5)

defect

Tracking

()

RESOLVED FIXED
119 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox-esr115 --- unaffected
firefox115 --- unaffected
firefox116 --- unaffected
firefox117 --- wontfix
firefox118 --- wontfix
firefox119 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: dshin)

References

(Regression)

Details

(Keywords: intermittent-failure, regression, test-verify-fail)

Filed by: ctuns [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=422383803&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/SsObm30pTPyTG4dKFbr3_Q/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/SsObm30pTPyTG4dKFbr3_Q/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2023-07-12T09:29:10.791Z] 09:29:10     INFO - TEST-START | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html
[task 2023-07-12T09:29:10.993Z] 09:29:10     INFO - Setting pref dom.animations-api.compositing.enabled to true
[task 2023-07-12T09:29:11.137Z] 09:29:11     INFO - Setting pref gfx.font_rendering.fallback.async to false
[task 2023-07-12T09:29:11.458Z] 09:29:11     INFO - Setting pref layout.css.has-selector.enabled to true
[task 2023-07-12T09:29:11.561Z] 09:29:11     INFO - Setting pref dom.focus.fixup to true
[task 2023-07-12T09:29:13.049Z] 09:29:13     INFO - 
[task 2023-07-12T09:29:13.049Z] 09:29:13     INFO - TEST-UNEXPECTED-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | Initially red - assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
[task 2023-07-12T09:29:13.049Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:198:18
[task 2023-07-12T09:29:13.049Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.049Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.050Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:189:7
[task 2023-07-12T09:29:13.055Z] 09:29:13     INFO - 
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector enclosed by :is() no longer matching after removal (1) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:214:18
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:212:7
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector enclosed by :is() no longer matching after removal (2) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:219:18
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:217:7
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector enclosed by :is() no longer matching after removal (3) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.056Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:224:18
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:222:7
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector enclosed by :is() no longer matching after removal (4) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:229:18
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:227:7
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector in non-subject enclosed by :is() no longer matching after removal (1) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:234:18
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.057Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:232:7
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector in non-subject enclosed by :is() no longer matching after removal (2) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:239:18
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:237:7
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector in non-subject enclosed by :is() no longer matching after removal (3) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:244:18
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:242:7
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - TEST-FAIL | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector in non-subject enclosed by :is() no longer matching after removal (4) - assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:249:18
[task 2023-07-12T09:29:13.058Z] 09:29:13     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - @http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:247:7
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - TEST-UNEXPECTED-PASS | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | sibling selector in non-subject enclosed by :is() no longer matching after removal (5) - expected FAIL
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - TEST-INFO | expected FAIL
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - 
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - TEST-UNEXPECTED-PASS | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | :nth-child() enclosed by :is() no longer matching after removal (1) - expected FAIL
[task 2023-07-12T09:29:13.059Z] 09:29:13     INFO - TEST-INFO | expected FAIL
[task 2023-07-12T09:29:13.065Z] 09:29:13     INFO - ..........
[task 2023-07-12T09:29:13.065Z] 09:29:13     INFO - TEST-OK | /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | took 2262ms

Set release status flags based on info from the regressing bug 1842040

Started to fail on tier 1

Summary: Intermittent TV /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | single tracking bug → Intermittent /css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html | single tracking bug

Can repro locally with ./mach web-platform-tests --headless --chaos 251 ./testing/web-platform/tests/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html fairly consistently.
Two failure points, both locally and on treeherder.
Very strange, results of these should not change until bug 1792501 closes.

Flags: needinfo?(emilio)

Which platform and which build config? I tried this on a regular debug build and can't repro...

mach wpt --headless --chaos 251 ./testing/web-platform/tests/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html --repeat-until-unexpected

Goes for iteration 50 and still nothing...

Flags: needinfo?(emilio) → needinfo?(dshin)

... Huh, interesting. I am on Ubuntu 20.04.6

ac_add_options --enable-debug
ac_add_options --disable-optimize
Flags: needinfo?(dshin) → needinfo?(emilio)

Okay, I have an optimized build but can try without optimizations...

Still nothing with --disable-optimize, wat :/

Flags: needinfo?(emilio)

Set release status flags based on info from the regressing bug 1842040

Pernesco trace: https://pernos.co/debug/vEQ3f7JapwDH9JO5CNhf6w/index.html
Content PID: 123143
Trace:

/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html
  FAIL Initially red - assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)" 
@http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:198:18
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
test@http://web-platform.test:8000/resources/testharness.js:628:30
@http://web-platform.test:8000/css/selectors/invalidation/is-pseudo-containing-sibling-relationship-in-has.html:189:7
  UNEXPECTED-PASS sibling selector in non-subject enclosed by :is() no longer matching after removal (5) 
  UNEXPECTED-PASS :nth-child() enclosed by :is() no longer matching after removal (1) 

This HTML Tree:

  <div id="target9">
    <div class="item"></div>
    <div class="item" id="item9">FAIL if you see this text</div>
    <div class="item">
      <span class="child"></span>
      <span class="child"></span>
      <span class="child">This text should have a green background</span>
    </div>
  </div>

Looks as expected in the expected results run:

      div@0x7f85a6124f70 id="target9" state=[401040000] flags=[00008800] selectorflags=[00000008] primaryframe=0x7f85ce2ea948 refcount=11<
        Text@0x7f85a6125580 flags=[000f0000] primaryframe=(nil) refcount=1<\u000a    >
        div@0x7f85a6127040 class="item" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=0x7f85ce2eaa10 refcount=3<>
        Text@0x7f85a6125600 flags=[000e0000] primaryframe=0x7f85ce2ea278 refcount=2<\u000a    >
        Text@0x7f85a6125700 flags=[000e0000] primaryframe=0x7f85ad6e4920 refcount=2<\u000a    >
        div@0x7f85a6127160 class="item" state=[401040000] flags=[00008800] selectorflags=[00000000] primaryframe=0x7f85ce2eac90 refcount=10<
          Text@0x7f85a6125780 flags=[000f0000] primaryframe=(nil) refcount=1<\u000a      >
          span@0x7f85a61271f0 class="child" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=0x7f85ce2ead58 refcount=3<>
          Text@0x7f85a6125800 flags=[00000000] primaryframe=0x7f85ce2eae00 refcount=2<\u000a      >
          span@0x7f85a6127280 class="child" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=0x7f85ce2eaea0 refcount=3<>
          Text@0x7f85a6125880 flags=[00000000] primaryframe=0x7f85ce2eaf48 refcount=2<\u000a      >
          span@0x7f85a6127310 class="child" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=0x7f85ce2eafe8 refcount=4<
            Text@0x7f85a6125900 flags=[00040000] primaryframe=0x7f85ce2eb090 refcount=2<This text should have a green background>
          >
          Text@0x7f85a6125980 flags=[000f0000] primaryframe=(nil) refcount=1<\u000a    >
        >
        Text@0x7f85a6125a00 flags=[000f0000] primaryframe=(nil) refcount=1<\u000a  >
      >

But in the trace, at the time of matching, a subtree for the last .chid is missing:

div@0x7f3a7890e430 id="target9" state=[401040000] flags=[00008800] selectorflags=[00000008] primaryframe=(nil) refcount=8<
  Text@0x7f3a7890cb80 flags=[00000000] primaryframe=(nil) refcount=1<\u000a    >
  div@0x7f3a7890e4c0 class="item" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=(nil) refcount=2<>
  Text@0x7f3a7890cc00 flags=[00000000] primaryframe=(nil) refcount=1<\u000a    >
  div@0x7f3a7890e550 class="item" id="item9" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=(nil) refcount=3<
    Text@0x7f3a7890cc80 flags=[00000000] primaryframe=(nil) refcount=1<FAIL if you see this text>
  >
  Text@0x7f3a7890cd00 flags=[00000000] primaryframe=(nil) refcount=1<\u000a    >
  div@0x7f3a7890e5e0 class="item" state=[401040000] flags=[00000800] selectorflags=[00000000] primaryframe=(nil) refcount=3<
    Text@0x7f3a7890cd80 flags=[00000000] primaryframe=(nil) refcount=1<\u000a      >
  >
>

Ah, thanks! So, yeah, the parser hasn't inserted those yet, but we've yielded to be able to display the page.

If you wait a bit in the trace, then you see them come. So it's effectively an invalidation bug, but I don't think there's anything more magic about it.

(Then a duplicate of bug 1792501 - leaving it open til that gets resolved to leave it as intermittent)

See Also: → 1792501

David this should be fixed right?

Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(dshin)
Resolution: --- → FIXED

Agreed - should be good now.

Flags: needinfo?(dshin)
Assignee: nobody → dshin
Depends on: 1792501
Target Milestone: --- → 119 Branch
You need to log in before you can comment on or make changes to this bug.