Skip to content

Conversation

@servo-wpt-sync
Copy link
Collaborator

@servo-wpt-sync servo-wpt-sync commented Dec 6, 2025

The current logic returns early without decrementing the busy count if the swap chain doesn't have a front surface. This happens if the context was created but never used for rendering, as seen in the linked issue. Since the count is always incremented when locking, this causes the count to never reach zero, causing the cleanup logic in remove_webgl_context to skip freeing the context and associated resources.

Fixes #41082.

Testing: A new crash test is added.

Reviewed in servo/servo#41094

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

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

The review process for this patch is being conducted in the Servo project.

The current logic returns early without decrementing the busy count if
there are the swap chain doesn't have a front surface. This happens if
the context was created but never used for rendering, as seen in the
linked issue. Since the count is always incremented when locking, this
causes the count to never reach zero, causing the cleanup logic in
`remove_webgl_context` to skip freeing the context and associated
resources.

Fixes web-platform-tests#41082.

Signed-off-by: Mukilan Thiyagarajan <[email protected]>
@servo-wpt-sync servo-wpt-sync merged commit 4051cb5 into web-platform-tests:master Dec 6, 2025
25 checks passed
@servo-wpt-sync servo-wpt-sync deleted the servo_export_41094 branch December 6, 2025 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants