-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buttons or performance profile randomly disappear #21577
Comments
We keep having this -- this smells like it was broken by a chromium update a few weeks ago. A lot of tests now randomly fail because primary buttons in dialogs disappear, or now this. Let's make this the official place to discuss and track. @jelly I think this isn't yet tracked anywhere? I have to say, I have absolutely no idea about this yet. Some ideas:
|
example of disappearing button, happens often in TestFiles.testPermissions |
Attached a screenshot of the tuned issue as the s3 url might get lost in the future. For tuned I can see this being a flake, we need to wait on the tuned daemon. So let's check if our test asserts that the HTML exists. The overview pixel test indeed does not wait on a profile, and I think profiles differ per VM. So let's try to first wait on that to "stabilize" in an new PR, land it and see if it still occurs. |
However looking more carefully, we do have |
This could be a simple TOCTOU issue, we load the page, don't wait tuned to load and then measure the "ignore rects" by grabbing the size of an empty button. After that take a screenshot, text is loaded and test fails. |
Created an experiment in #21584 but this doesn't flake nearly as often so I am not sure if we would catch it. With these findings I'll investigate the Files testPermissions issue which appears way more often. |
This TestSuperuser.testBasic flake is another related example from just now. |
I get that disappearing button with I get the failures in a completely clean So I tried in an isolated podman (like in CI):
It does not have the pixel noise and does have the disappearing button. For faster iteration I tried As compromise/bisection, I ran the above in |
Looking at what started this all, the files permissions dialog. There is no wait condition for the This happens in normal and in for example the RTL layout. We do resize the window once, and change layout which could cause a re-render |
I changed the default |
So: wait_animations = True
So we would only wait on animations |
Attempting this, makes it still fail. Copied the captureScreenshot code over to have a peek and all I got was: That uses:
The default layout should be:
where layouts is picked from:
So this should be:
And screenshotting the whole So resolution is indeed set correct. |
So looking into This code then walks over the layouts, and calls set_layout unnecessary at first as we are in the first layout (desktop). I've tried to apply a delay:
But that still fails now in the dark theme. So adding a delay is not enough. |
I updated the above local podman run recipe to include image caching. It's a bit rough ( I tried @jelly 's wait_in_text() on the right place (the test fails on the I tried adding this into if selector == ".pf-v5-c-modal-box":
self.wait_in_text(".pf-v5-c-modal-box button.pf-m-primary", "Change") (the For the lols I also re-attempted b.assert_pixels(".pf-v5-c-modal-box", "multiple-files-permissions-modal", wait_after_layout_change=True, wait_delay=3) but as both me and @jelly already determined, it still fails. This also corroborates "browser bug". I'm at my wit's end here. I'll send a PR that ignores the primary button in the pixel test and make sure it exists: cockpit-project/cockpit-files#949 |
cockpit-project/cockpit#21577 has plagued us for long enough now, and nobody of us is able to figure out the root cause or proper workaround. This is *not* a race nor a PF/React/etc. bug, it really must be a Chromium bug. (See the issue for details) As a bandaid, ignore the button for the pixel tests and assert that it exists.
cockpit-project/cockpit#21577 has plagued us for long enough now, and nobody of us is able to figure out the root cause or proper workaround. This is *not* a race nor a PF/React/etc. bug, it really must be a Chromium bug. (See the issue for details) As a bandaid, ignore the button for the pixel tests and assert that it exists.
Last night's run https://cockpit-logs.us-east-1.linodeobjects.com/pull-0-66625eea-20250213-013132-fedora-41-daily/log.html contains even two of these. |
The job
fedora-41/daily
failed on commit 2933c6d.Log: https://cockpit-logs.us-east-1.linodeobjects.com/pull-0-2933c6dd-20250203-013113-fedora-41-daily/log.html
The text was updated successfully, but these errors were encountered: