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 · 2 comments
Open

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants