-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
ERROR:gpu_memory_buffer_support_x11 on GitHub Ubuntu #25357
Comments
I also see this when running Ubuntu in Github. Routing this to the e2e team to let them determine how they want to handle this. |
I also see this when running Ubuntu 22.04 running via Azure Pipelines |
Just to clarify and priotize, is this blocking your test run, or just a quality of life fix? I have seen this warning but it has not prevented running my tests. If you are finding this a blocker, please share, we can prioritize accordingly. |
I have never seen it blocking a test, I have however seen the error quoted by multiple people as being the reason for their test failing, since it is often the last error message which is thrown before the point where users are expecting Cypress to run. Addressing this issue would help users with an error condition to be able to focus on what the real error might be. So it's a bit more than just a "quality of life" bug. Also it is easily reproducible and it shows up on everybody's test runs. So I do believe you ought to be putting some priority on fixing it. |
Agree with the comment ^. This error randomly fails our pipeline and it is time consuming the run the steps again. |
I agree this is pretty confusing, I have a feeling pipelines are failing for other reasons, which we are either incorrect suppressing or not surfacing. Since this is the last warning people see, they assume it's related (could be, but might be a red herring). I see (at least) two issues to solve:
This issue is for suppressing the warning (point 2), let's track that here. If you have a failing pipeline and you can reproduce it in a minimal fashion and believe it's related (point 1), please make a new issue and reference this one, we can help fix it, and hopefully add a better error handling around whatever issue is found. |
Thank you @lmiller1990 for expanding the description above ^ ! My issue is only about the red herring aspect. It would be great if anybody else, like @rotexhawk, who says that the issue is causing their pipeline to fail could open a new issue with minimal repro steps. Do you still need me to keep my example repo https://github.com/MikeMcC399/gpu-error-test available or can I delete it now? There are plenty of examples of this error showing up in the cypress-io/github-action repo that can be seen when viewing the runs of https://github.com/cypress-io/github-action/blob/master/.github/workflows/example-basic.yml Search under https://github.com/cypress-io/github-action/actions/workflows/example-basic.yml?query=branch%3Amaster for a selection of logs. |
I think you can delete it, the repro is basically: run Cypress on Ubuntu on CI. Thanks! |
I have deleted it. As you say, it is easy to reproduce. I revisited it and I find that with Cypress 12.2.0 and
is no longer shown and I assume this is due to updates in the GitHub runners. With Cypress 12.5.1 the error message:
is however still being displayed, so this issue remains valid. |
|
WorkaroundAdd env:
ELECTRON_EXTRA_LAUNCH_ARGS: '--disable-gpu' to the GitHub workflow. The result is that the error message
disappears for any selected browser except Electron. For Electron the error message is output at a later stage. A partial explanation is that with no environment variable According to Configure browser environment, which shows how to pass an environment variable when a browser is launched, it says "This option is not supported when targeting Electron", so presumably this is the reason that I reinstated a repro repo at https://github.com/MikeMcC399/gpu-error-test The remaining error in the electron browser case with full debug logging enabled is shown at:
|
I will post in #23641 |
I am getting the same error in GitLab runners with the following env. |
That corresponds to my original post that reported the issue on Cypress |
|
I do confirm, that setting
does NOT help to avoid :
I updated my
My Cypress code is running on top of NodeJS 18.x and Cypress itself is UPD. I know that env variable suggest that something with Electron, but I also experience this And here is screenshot for Electron And BTW, when I use Meaning that it doesn't hint me much of what the reason could be. |
@MikeMcC399, @ricardo-dematos, @tgreen7 do you still have this issue? I mean |
And actually, maybe there is NO need "listening" on CI? |
|
@MikeMcC399 I know, but I assumed that it's just after that log entry, and I suspected that maybe it's related (see my above comment w screenshots). But thanks for that another issue. Will research. |
some solution worked? I have same problem with azure devops pipeline with ubuntu 20.04 |
What is the actual problem? If it's just some text, I don't think there's anything to do - it's just telling you about your environment. If you really don't like the warning, you can probably disable it. I googled for about 10 seconds and found: seleniumbase/SeleniumBase#1384 Seems a common issue in many other tools, eg selenium seleniumbase/SeleniumBase#1384 / PW microsoft/playwright#15907 Anything for us to do here? I don't think so, Cypress should not be swallowing warnings - if anything, that would make debugging more confusing. |
|
Related issues
Related documentationContinuous integration > Introduction > Running headless tests without Xvfb |
SuggestionAdd the error message
to the filtered-out Xvfb "garbage warnings" in https://github.com/cypress-io/cypress/blob/develop/cli/lib/exec/spawn.js The error message occurs on GitHub Ubuntu runners when Cypress spawns the Xvfb driver (virtual framebuffer X server for X Version 11). As far as I was able to research this topic, Xvfb does not include support for DRI (Direct Rendering Infrastructure). The error is always logged when running Cypress on Ubuntu on GitHub, and on some other CI providers, except notably CircleCI. It does not appear to be detrimental to running Cypress tests. Other similar garbage errors are already filtered out: Lines 15 to 47 in f383ae3
|
I can confirm this to be true -- this happens wherever Cypress is run in headerless mode on Ubuntu 20 -- tested with an AWS EC2 that otherwise has gnome GUI enabled and running via command line headerless still reproduces the warning. Also, the workaround (set |
This issue is no longer reproducible in Cypress 13.2.0. According to the Changelog:
Presumably this is the reason for the error message no longer appearing. |
Confirmed issue is fixed in 13.2.0 |
Confirmed
|
Current behavior
When Cypress is run using a GitHub Ubuntu runner, an error message related to graphics is shown before Cypress shows "Run Starting".
The error message contains the following texts:
"ERROR:gpu_memory_buffer_support_x11.cc(44)"
"dri3 extension not supported."
for example:
The error message is output independently of the browser selected, e.g. Electron, Chrome and Firefox on a GitHub runner where debug logs show
cypress:cli Starting Xvfb
.No error messages are shown in Ubuntu 22.04 running under VMware Workstation 17 Pro, nor using Ubuntu 22.04 running in Microsoft WSL2 under Windows 11 Pro. In these cases Xvfb is not started (debug log shows
cypress:cli Cypress will not spawn own Xvfb
).Desired behavior
If the graphics error listed above does not affect the running of Cypress then their output should be suppressed. The messages can otherwise be misleading for troubleshooting.
The error message is similar to others which are classified as "garbage warnings" in https://github.com/cypress-io/cypress/blob/develop/cli/lib/exec/spawn.js and which are filtered out by that module.
Test code to reproduce
Cypress Version
First reported on Cypress
12.5.1
Issue continues to be reproducible on
13.1.0
Node version
v16.16.0
=>v20.5.0
Operating System
Ubuntu on GitHub: ubuntu-20.04 and ubuntu-22.04
Debug Logs
See https://github.com/MikeMcC399/gpu-error-test/actions/workflows/gpu-test-base.yml
Other
Related issues are:
Error running in Docker: InitializeSandbox() called with multiple threads in process gpu-process #14558
Flaky test: Too long with no output (exceeded 10m0s): context deadline exceeded #23308
Flaky test: CypressError:
cy.request()
timed out waiting30000ms
for a response from your server #23326Running Cypress in WSL2 caused "gpu_memory_buffer_support_x11.cc(44)]" ERROR #23343
Incorrect work of setupNodeEvents #23626
Jj cypress-docker-images#747
Workaround
If Cypress tests are failing and the cause is unclear it may be useful to rule out any gpu error by making sure that the gpu error described here does not occur.
To prevent the gpu error, add
to the GitHub workflow and use a browser other than the default Electron browser.
Edit: reworked issue
The text was updated successfully, but these errors were encountered: