Closed Bug 1942580 Opened 1 year ago Closed 1 year ago

High frequency Android /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html | single tracking bug

Categories

(Core :: DOM: Editor, defect)

defect

Tracking

()

RESOLVED FIXED
136 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox134 --- unaffected
firefox135 --- unaffected
firefox136 --- fixed

People

(Reporter: intermittent-bug-filer, Unassigned)

References

(Regression)

Details

(Keywords: intermittent-failure, intermittent-testcase, regression, Whiteboard: [stockwell needswork:owner])

Filed by: amarc [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=490849889&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Wgc4OVCFTwWq_FvnR5R_mA/runs/0/artifacts/public/logs/live_backing.log


[task 2025-01-20T09:32:49.610Z] 09:32:49     INFO - TEST-START | /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Backspace
[task 2025-01-20T09:32:49.635Z] 09:32:49     INFO - Closing window f6f706e9-e233-41a9-8693-aed41db9132c
[task 2025-01-20T09:32:50.266Z] 09:32:50     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '0'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '1'}]}
[task 2025-01-20T09:32:50.433Z] 09:32:50     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '2'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '3'}]}
[task 2025-01-20T09:32:50.536Z] 09:32:50     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '4'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '5'}]}
[task 2025-01-20T09:32:50.642Z] 09:32:50     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '6'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '7'}]}
[task 2025-01-20T09:32:50.731Z] 09:32:50     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '8'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '9'}]}
<...>
[task 2025-01-20T09:33:10.059Z] 09:33:10     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '436'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '437'}]}
[task 2025-01-20T09:33:10.147Z] 09:33:10     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '438'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '439'}]}
[task 2025-01-20T09:33:10.361Z] 09:33:10     INFO - Got content assert count 40
[task 2025-01-20T09:33:10.639Z] 09:33:10     INFO - TEST-UNEXPECTED-FAIL | /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Backspace | assertion count 32 is more than expected 0 to 24 assertions
[task 2025-01-20T09:33:10.640Z] 09:33:10     INFO - TEST-OK | /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Backspace | took 21030ms
[task 2025-01-20T09:33:10.640Z] 09:33:10     INFO - TEST-START | /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Delete
Flags: needinfo?(masayuki)
Keywords: regression
Regressed by: 1939220

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

Hmm, sounds like this is caused by the same root cause of bug 1935698.

whimboo: Do you want to investigate something before disabling the test again?

Flags: needinfo?(masayuki) → needinfo?(hskupin)
See Also: → 1935698

Thank you Masayuki for letting me know! So my patch that removed all the meta data landed on January 8th and from that day on until January 19th there was not a single failure. Why does that failure now start again?

We didn't land anything on our side for Marionette which could have caused that due to a changed behavior. But we landed bug 1930975 which fixed a linter warning. But it landed on January 16th and didn't cause any failures.

Let me try if I can reproduce locally. If not I wonder if something has changed for the Android emulator on January 20th which could have caused this regression.

Flags: needinfo?(hskupin)

Masayuki, the first time when this failure started to happen again was for the following revision:
https://treeherder.mozilla.org/jobs?repo=autoland&selectedJob=490850960&revision=00f73b8c51ab7146345e9d01f80ac40b3a94cf3c

It's bug 1939220 for Make "WSRunScanner::TextFragmentData" free from editing host. Maybe this could have caused this problem?

In the meantime I will push to try again for debug builds on Android and trace logs for Marionette enabled to see if it can be reproduced:
https://treeherder.mozilla.org/jobs?repo=try&revision=80e8e83d08bff569874e7289d0d5af72d32e4ef4

Ok, I just noticed that bug 1939220 is actually already marked as the regressor. I missed that originally.

When having a look at the try results I can see that it perma fails but that is not happening because the tests are timing out due to too slow event processing but it's because the assertion count has been increased by patch on bug 1939220.

So there is nothing for me to further investigate, but you should check why the number of assertions increased.

Flags: needinfo?(masayuki)

Okay, I think we should just disable this for now.

Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Flags: needinfo?(masayuki)

As alternative you could increase the maximum allowed assertion count if that is fine for you all while you are working on it to figure out. The failure rate is not too high (we still have 22 for this week - which is equal to the number that I saw 17 hours ago).

(In reply to Henrik Skupin [:whimboo][⌚️UTC+2] from comment #9)

Oh I just saw that with your landing of the following changeset you reduced the assertion count from 41 to just 24. Maybe that was too much?

https://hg.mozilla.org/mozilla-central/diff/71063939b39c4b9c4ef4c774fddbea0e8fa29871/testing/web-platform/meta/input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html.ini

I'm not sure 41 was the strict value which occurred. If my patch increased the actual number on Android, indeed, it could be the root cause.

I'm currently refactoring around the assertion failure for fixing bug 1940377. I'll take a couple of weeks, so, I should disable this test for now to avoid from the noise of this failure.

Component: DOM: Events → DOM: Editor
OS: Unspecified → All
Hardware: Unspecified → All

(Oh, I misunderstood, I thought this was unexpected timeout, but this is unexpected failure of unexpected assertion count... I'm not sure what's the additional assertions only on Android...)

While running the test, we get a lot of assertion failures at here.

The stack:
2. mozilla::WhiteSpaceVisibilityKeeper::MergeFirstLineOfRightBlockElementIntoLeftBlockElement::<lambda_3>::operator()() const (WhiteSpaceVisibilityKeeper.cpp:787)
3. mozilla::WhiteSpaceVisibilityKeeper::MergeFirstLineOfRightBlockElementIntoLeftBlockElement(mozilla::HTMLEditor&, mozilla::dom::Element&, mozilla::dom::Element&, mozilla::Maybe<nsAtom > const&, mozilla::dom::HTMLBRElement const, mozilla::dom::Element const&) (WhiteSpaceVisibilityKeeper.cpp:791)
4. mozilla::HTMLEditor::AutoDeleteRangesHandler::AutoBlockElementsJoiner::AutoInclusiveAncestorBlockElementsJoiner::Run(mozilla::HTMLEditor&, mozilla::dom::Element const&) (HTMLEditorDeleteHandler.cpp:6582)
5. mozilla::HTMLEditor::AutoDeleteRangesHandler::AutoBlockElementsJoiner::HandleDeleteNonCollapsedRange::<lambda_76>::operator()() const (HTMLEditorDeleteHandler.cpp:5313)
6. mozilla::HTMLEditor::AutoDeleteRangesHandler::AutoBlockElementsJoiner::HandleDeleteNonCollapsedRange(mozilla::HTMLEditor&, short, short, nsRange&, mozilla::HTMLEditor::AutoDeleteRangesHandler::SelectionWasCollapsed, mozilla::dom::Element const&) (HTMLEditorDeleteHandler.cpp:5332)
7. mozilla::HTMLEditor::AutoDeleteRangesHandler::AutoBlockElementsJoiner::Run(mozilla::HTMLEditor&, mozilla::LimitersAndCaretData const&, short, short, nsRange&, mozilla::HTMLEditor::AutoDeleteRangesHandler::SelectionWasCollapsed, mozilla::dom::Element const&) (HTMLEditorDeleteHandler.cpp:710)
8. mozilla::HTMLEditor::AutoDeleteRangesHandler::HandleDeleteNonCollapsedRanges(mozilla::HTMLEditor&, short, short, mozilla::AutoClonedSelectionRangeArray&, mozilla::HTMLEditor::AutoDeleteRangesHandler::SelectionWasCollapsed, mozilla::dom::Element const&) (HTMLEditorDeleteHandler.cpp:4155)
9. mozilla::HTMLEditor::AutoDeleteRangesHandler::Run(mozilla::HTMLEditor&, short, short, mozilla::AutoClonedSelectionRangeArray&, mozilla::dom::Element const&) (HTMLEditorDeleteHandler.cpp:1921)
10. mozilla::HTMLEditor::HandleDeleteSelection(short, short) (HTMLEditorDeleteHandler.cpp:1262)

(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900) from comment #12)

Oh, the expected assertion counts are increased by https://hg.mozilla.org/mozilla-central/diff/0a4c51edc64533003cf3389ae0271f53d6eb2f07/testing/web-platform/meta/input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html.ini that reduces the number of failures.

Yes, wpt downstream syncs will update meta data in case of intermittent failures with a high rate. Sometimes those changes can go through unnoticed if the owner of a component doesn't closely observe landed commits in those folders.

Overall this means that before your landing we had 41 assertions listed while we have 33 now. So we could consider it already as an improvement.

Should we mark this bug as being blocked by bug 1940377?

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

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → INCOMPLETE

This was actually fixed by bug 1942710 where the wpt-sync bot increased the assertion count from 24 to 33.

Masayuki, did you file a bug for the assertion failures as seen already?

Depends on: 1942710
Flags: needinfo?(masayuki)
Resolution: INCOMPLETE → FIXED
Target Milestone: --- → 136 Branch

Not yet, I'll do that.

Filed bug 1950783 and investigating...

Flags: needinfo?(masayuki)
You need to log in before you can comment on or make changes to this bug.