Skip to content
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

[Bug]: WebGL fails in GitHub Actions on macOS (launcher by Web Test Runner) #30585

Open
trusktr opened this issue Apr 28, 2024 · 5 comments · Fixed by #30937
Open

[Bug]: WebGL fails in GitHub Actions on macOS (launcher by Web Test Runner) #30585

trusktr opened this issue Apr 28, 2024 · 5 comments · Fixed by #30937

Comments

@trusktr
Copy link

trusktr commented Apr 28, 2024

Version

1.39.0

Steps to reproduce

This build is failed (playwright is loaded by @web/test-runner using the @web/test-runner-playwright plugin):

https://github.com/lume/lume/actions/runs/8870663403

In this next commit I removed playwright (so web test runner uses its own Chrome launcher) and the WebGL problem is gone (it fails for other reason but the test-runner step passed):

https://github.com/lume/lume/actions/runs/8870675038/job/24352740293?pr=292

Expected behavior

I expected playwright to work fine, without a WebGL error

Actual behavior

WebGL didn't work. The errors look like this:

      THREE.WebGLRenderer: A WebGL context could not be created. Reason:  Could not create a WebGL context, VENDOR = 0xffff, DEVICE = 0xffff, GL_VENDOR = Google Inc. (Google), GL_RENDERER = ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (LLVM 10.0.0) (0x0000C0DE)), SwiftShader driver-5.0.0), GL_VERSION = 21.0.19, Sandboxed = no, Optimus = no, AMD switchable = no, Reset notification strategy = 0x8252, ErrorMessage = BindToCurrentSequence failed: .
      THREE.WebGLRenderer: Error creating WebGL context.

Additional context

This is playwright being loaded by Web Test Runner. I'm not sure if Web Test Runner has to do with the cause of the issue.

Environment

I ran this inside GitHub Actions:

  System:
    OS: macOS 14.4.1
    Memory: 2.69 GB / 7.00 GB
  Binaries:
    Node: 20.12.2 - ~/hostedtoolcache/node/20.12.2/arm64/bin/node
    Yarn: 1.22.19 - ~/.yarn/bin/yarn
    npm: 10.5.0 - ~/hostedtoolcache/node/20.12.2/arm64/bin/npm
  Languages:
    Bash: 3.2.57 - /bin/bash
@trusktr
Copy link
Author

trusktr commented Apr 28, 2024

More information

The project is in this branch of my project:

There may not be a need to run it locally (it works just fine on my MacBook Air M2).

This commit,

has the problem.

In the next commit,

I updated the git submodule at packages/cli so that it would avoid using playwright. That commit is in that project's following branch:

Specifically the last commit:

where the diff shows how I disabled playwright and got around the error.

This seems to indicate that WebGL works fine in GitHub Actions, because Web Test Runner is able to run it fine without the Playwright launcher, but WebGL fails when Web Test Runner uses the Playwright launcher.

If you want to run locally, the steps are basically:

git clone https://github.com/lume/lume.git
cd lume
git checkout playwright-webgl-issue-30585
npm run fresh # this installs everything, including git submodules, links all projects together with yarn, etc
npm run build:all # required before running tests
npm run test:all # it works
git checkout 8d99a4d4947118b9f7fde09e6fc1c74674809ca5 # earlier commit before the fix is applied
git submodule update packages/cli # ensure the problematic config is in place (playwright in web-test-runner)
npm run test:all # this fails in GitHub Actions (might work fine on your macbook, but hopefully not so it can be reproduced locally!)

Is there anything else I can do to help debug this?

@trusktr trusktr changed the title [Bug]: WebGL fails in GitHub Actions on macOS [Bug]: WebGL fails in GitHub Actions on macOS (launcher by Web Test Runner) Apr 28, 2024
@dgozman
Copy link
Contributor

dgozman commented May 3, 2024

Thank you for the issue! I have filed an upstream chromium bug here: https://issues.chromium.org/issues/338414704. We'll see what can be done for the next release.

@dgozman
Copy link
Contributor

dgozman commented May 21, 2024

The fix is available in the recent Chromium, #30937 enables it. However, it will have to wait until stable channels pick it up.

@mxschmitt
Copy link
Member

Re-opening since we reverted it.

@mxschmitt mxschmitt reopened this Jul 12, 2024
@dgozman
Copy link
Contributor

dgozman commented Jul 22, 2024

Filed an upstream issue https://issues.chromium.org/u/1/issues/354621201 that triggered the revert.

@dgozman dgozman added v1.47 and removed v1.46 labels Jul 22, 2024
jbms added a commit to google/neuroglancer that referenced this issue Jul 23, 2024
Chrome as launched by vitest/webdriverio currently does not support
WebGL on macOS on github actions.

See related bug:
microsoft/playwright#30585
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants