Skip to content

REGRESSION(322476@main) [WPE] run-wpe-tests crashes with KeyError: 'LIBGL_ALWAYS_SOFTWARE' - #75647

Merged
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
obyknovenius:fix/glib/api-test-runner/libgl-always-software-exception
Oct 2, 2026
Merged

webkit-commit-queue merged 1 commit into
WebKit:mainfrom
obyknovenius:fix/glib/api-test-runner/libgl-always-software-exception

Conversation

@obyknovenius

@obyknovenius obyknovenius commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

23dcf60

REGRESSION(322476@main) [WPE] `run-wpe-tests` crashes with `KeyError: 'LIBGL_ALWAYS_SOFTWARE' `
https://bugs.webkit.org/show_bug.cgi?id=326066

Reviewed by Carlos Alberto Lopez Perez.

322476@main changed `WPEPort.setup_environ_for_server()` to set
`LIBGL_ALWAYS_SOFTWARE` only when the `gl_rendering_backend` option is
`cpu`. That option is defined only by `run-webkit-tests`. Under
`run-wpe-tests` it is `None`, so the variable is never set.
`api_test_runner.py` assumes it is always present on WPE and removes it
for WPE Platform tests with `pop()` and no default. GTK is not affected
because `run-gtk-tests` has no WPE Platform tests.

Add default value to `pop('LIBGL_ALWAYS_SOFTWARE')` to not raise
`KeyError` when it is not set.

* Tools/glib/api_test_runner.py:
(TestRunner._run_test_glib):

Canonical link: https://commits.webkit.org/322491@main

a3ae8d5

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe   🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug   🧪 wpe-wk2   🧪 win-tests
✅ 🧪 webkitperl   🧪 ios-wk2   🧪 api-mac   🧪 api-wpe
✅ 🧪 ios-wk2-wpt   🧪 api-mac-debug
  🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk3-gcc
  🧪 mac-AS-debug-wk2 ✅ 🛠 gtk
✅ 🛠 vision   🧪 gtk-wk2
✅ 🛠 vision-sim   🧪 mac-intel-wk2 ✅ 🧪 api-gtk
✅ 🛠 🧪 unsafe-merge ✅ 🧪 vision-wk2 ✅ 🛠 playstation
✅ 🛠 tv ✅ 🧪 mac-site-isolation
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@obyknovenius
obyknovenius requested a review from a team as a code owner October 2, 2026 11:42
@obyknovenius obyknovenius self-assigned this Oct 2, 2026
@obyknovenius obyknovenius added the New Bugs Unclassified bugs are placed in this component until the correct component can be determined. label Oct 2, 2026

@nikolaszimmermann nikolaszimmermann left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as discussed, this is wrong, the API tests silently switched to GPU...

@obyknovenius

Copy link
Copy Markdown
Contributor Author

as discussed, this is wrong, the API tests silently switched to GPU...

This patch by itself doesn't switch anything. It just prevents the crash when LIBGL_ALWAYS_SOFTWARE is not set for any reason. I think it's safe to land it anyway.

@nikolaszimmermann nikolaszimmermann added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Oct 2, 2026
… 'LIBGL_ALWAYS_SOFTWARE' `

https://bugs.webkit.org/show_bug.cgi?id=326066

Reviewed by Carlos Alberto Lopez Perez.

322476@main changed `WPEPort.setup_environ_for_server()` to set
`LIBGL_ALWAYS_SOFTWARE` only when the `gl_rendering_backend` option is
`cpu`. That option is defined only by `run-webkit-tests`. Under
`run-wpe-tests` it is `None`, so the variable is never set.
`api_test_runner.py` assumes it is always present on WPE and removes it
for WPE Platform tests with `pop()` and no default. GTK is not affected
because `run-gtk-tests` has no WPE Platform tests.

Add default value to `pop('LIBGL_ALWAYS_SOFTWARE')` to not raise
`KeyError` when it is not set.

* Tools/glib/api_test_runner.py:
(TestRunner._run_test_glib):

Canonical link: https://commits.webkit.org/322491@main
@webkit-commit-queue
webkit-commit-queue force-pushed the fix/glib/api-test-runner/libgl-always-software-exception branch from a3ae8d5 to 23dcf60 Compare October 2, 2026 13:25
@webkit-commit-queue

Copy link
Copy Markdown
Collaborator

Committed 322491@main (23dcf60): https://commits.webkit.org/322491@main

Reviewed commits have been landed. Closing PR #75647 and removing active labels.

@webkit-commit-queue
webkit-commit-queue merged commit 23dcf60 into WebKit:main Oct 2, 2026
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Oct 2, 2026
@obyknovenius
obyknovenius deleted the fix/glib/api-test-runner/libgl-always-software-exception branch October 2, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

New Bugs Unclassified bugs are placed in this component until the correct component can be determined.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants