Intermittent editor/reftests/694880-1.html == editor/reftests/694880-ref.html | single tracking bug
Categories
(Core :: DOM: Editor, defect, P3)
Tracking
()
People
(Reporter: jmaher, Unassigned)
References
Details
(Keywords: intermittent-failure, intermittent-testcase)
Attachments
(4 files)
17.25 KB,
image/png
|
Details | |
patch with reftest-wait/MozReftestInvalidate that seems to make the issue reproduce 100% of the time
710 bytes,
patch
|
Details | Diff | Splinter Review | |
419 bytes,
text/html
|
Details | |
395 bytes,
text/html
|
Details |
Reporter | ||
Comment 1•2 years ago
|
||
Additional information about this bug failures and frequency patterns can be found by running: ./mach test-info failure-report --bug 1788320
Updated•2 years ago
|
Updated•2 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•2 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 11•2 years ago
•
|
||
(drive-by analysis/notes, since I happened to hit this on a try run):
Here's a screenshot of what the testcase looks like in the failures (the ones I glanced at, at least). There's a vertical bar (a cursor/caret?) at the left edge of some green text; whereas the reference case doesn't have that vertical bar.
The testcase sets document.designMode
to on
and then off
, with different text coloring rules applying for each state.
The fact that the testcase renders green (as shown in this screenshot) is an indication that we successfully got back todesignMode
of off
. But the vertical-bar is only supposed to show up when designMode
is on
. It's quite unexpected that we would ever paint a green vertical bar here, I think; the bar is a hint that designMode is on, but the text coloring indicates that designMode is off.
Comment 12•2 years ago
|
||
Odd, I cannot reproduce it on Windows and Linux even if I make ui.caretBlinkTime
to -1
.
When the document is loaded, designMode
is set to on
first. I think that at this point, HTMLEditor
initializes Selection
to collapse to end of the <body>
because entire of the document is editable. Then, the <body>
gets focus. Finally, setting designMode
to off
makes HTMLEditor
clears the caret.
I wonder, the caret is not rendered because those things happen in an vsync period in normal use, but reftest frame work forcibly flush it immediately after ending the load
event propagation? If so, removing reftest-wait
class at next animation frame from the load
event listener could fix this.
Comment hidden (Intermittent Failures Robot) |
Comment 14•2 years ago
|
||
I thought this might help, but instead it seems to make the issue reproduce 100% of the time for me.
Comment 15•2 years ago
|
||
Comment 16•2 years ago
|
||
(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900) from comment #12)
Odd, I cannot reproduce it on Windows and Linux even if I make
ui.caretBlinkTime
to-1
.
How about with the testcase I just attached? It reproduces the issue for me 100% of the time in Linux Nightly, if I load it with ui.caretBlinkTime
set to -1
.
Comment 17•2 years ago
|
||
It seems to be a combination of two things.
(A) a race condition to update the color and hide the caret (there's no reason we should ever paint a green caret here, since the green color is an indication that we've left designMode).
(B) a paint invalidation bug -- after reproducing the bug, if I e.g. alt-tab, then we do correctly repaint without the caret)
I think (A) is the proximal issue here. It's unclear whether (B) is really something wrong vs. just a downstream symptom of (A); the caret's not supposed to be there, so it's arguably correct that we're not invalidating its area after it should have been hidden (maybe?)
Comment 18•2 years ago
|
||
Actually, my attached testcase 1 reproduces the bug even if I leave ui.caretBlinkTime
at its default value! I see the caret blinking on/off/on/off, until I do something to change focus (e.g. clicking somewhere, or alt-tab as noted above).
So: my guess was wrong in the previous comment, regarding paint invalidation. Alt-tab wasn't forcing a repaint there; it was simply causing a focus change.
Updated•2 years ago
|
Comment 19•2 years ago
|
||
Here's a testcase where I've added the prefixed selectors to help this be testable further back.
With this one, I can confirm that I see this same issue at least as far back as Nightly 2011-01-01 (4.0 prerelease).
So: probably the reftest failure here is just a race, depending on whether we've managed to paint before the load event fires and the designMode tweaks get a chance to take effect. And we've gotten faster at getting that first paint in, which is why this started intermittently failing.
Comment 20•2 years ago
•
|
||
I spun off bug 1798379 for the underlying platform bug that goes back ~forever. In a perfect world we'd fix this intermittent by fixing that bug, but I'm not sure that's high-priority; so I've split out the platform bug, to allow us to use this bug here to track and potentially paper-over the intermittent (e.g. update the test's expectations to reflect reality) in the meantime.
Comment 21•2 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #16)
(In reply to Masayuki Nakano [:masayuki] (he/him)(JST, +0900) from comment #12)
Odd, I cannot reproduce it on Windows and Linux even if I make
ui.caretBlinkTime
to-1
.How about with the testcase I just attached? It reproduces the issue for me 100% of the time in Linux Nightly, if I load it with
ui.caretBlinkTime
set to-1
.
Yeah, I managed to reproduce this on Windows too, and thank you for investigating this!
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 113•4 months ago
|
||
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
For more information, please visit BugBot documentation.
Comment 114•3 months ago
|
||
treeherder |
New failure instance: https://treeherder.mozilla.org/logviewer?job_id=481579763&repo=mozilla-beta
Comment hidden (Intermittent Failures Robot) |
Comment 116•2 months ago
|
||
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
For more information, please visit BugBot documentation.
Comment 117•1 month ago
|
||
treeherder |
New failure instance: https://treeherder.mozilla.org/logviewer?job_id=486512541&repo=mozilla-esr128
Comment hidden (Intermittent Failures Robot) |
Comment 119•17 days ago
|
||
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
For more information, please visit BugBot documentation.
Description
•