Skip to content

Fix egl_fence_persistent_buffer deinit on GLES 2.0#435

Closed
enunes wants to merge 1 commit intoKhronosGroup:mainfrom
enunes:egl_fence_persistent_buffer
Closed

Fix egl_fence_persistent_buffer deinit on GLES 2.0#435
enunes wants to merge 1 commit intoKhronosGroup:mainfrom
enunes:egl_fence_persistent_buffer

Conversation

@enunes
Copy link
Copy Markdown
Contributor

@enunes enunes commented Dec 28, 2023

On GLES 2.0 only drivers, the egl_fence_persistent_buffer test fails to create its GLES 3.1 context and an exception is thrown at chooseSingleConfig, which aborts its init early.
The initialization doesn't reach initGLFunctions and GL function pointers are left uninitialized, which causes a segfault and crash in the deinit path.
Fix the deinit path so that it doesn't crash but just reports "No matching EGL config found" like other EGL tests with those drivers.

Affects:
dEQP-EGL.functional.fence_sync.valid.egl_fence_persistent_buffer

This has been crashing on two GLES 2.0 drivers on mesa since this CTS update https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24947 .

@lordalcol
Copy link
Copy Markdown
Contributor

This is now being tested and reviewed in Khronos CI.

@okias
Copy link
Copy Markdown
Contributor

okias commented Jul 17, 2024

How's the testing going?

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Aug 6, 2025

CLA assistant check
All committers have signed the CLA.

On GLES 2.0 only drivers, the egl_fence_persistent_buffer test fails
to create its GLES 3.1 context and an exception is thrown at
chooseSingleConfig, which aborts its init early.
The initialization doesn't reach initGLFunctions and GL function
pointers are left uninitialized, which causes a segfault and crash
in the deinit path.
Fix the deinit path so that it doesn't crash but just reports
"No matching EGL config found" like other EGL tests with those drivers.

Affects:
  dEQP-EGL.functional.fence_sync.valid.egl_fence_persistent_buffer

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
@enunes enunes force-pushed the egl_fence_persistent_buffer branch from abaf585 to ba1d485 Compare August 6, 2025 13:21
@enunes
Copy link
Copy Markdown
Contributor Author

enunes commented Aug 6, 2025

This has been here for so long that I don't know if it was avoided in some other way. I rebased and (re)accepted the CLA though after a github ping, the fix still seems to still apply.

@lordalcol
Copy link
Copy Markdown
Contributor

Re-bumping this one in the internal system

@lordalcol
Copy link
Copy Markdown
Contributor

Khronos members CL: https://gerrit.khronos.org/c/vk-gl-cts/+/17893

lordalcol pushed a commit that referenced this pull request Aug 29, 2025
On GLES 2.0 only drivers, the egl_fence_persistent_buffer test fails
to create its GLES 3.1 context and an exception is thrown at
chooseSingleConfig, which aborts its init early.
The initialization doesn't reach initGLFunctions and GL function
pointers are left uninitialized, which causes a segfault and crash
in the deinit path.
Fix the deinit path so that it doesn't crash but just reports
"No matching EGL config found" like other EGL tests with those drivers.

Affects:
  dEQP-EGL.functional.fence_sync.valid.egl_fence_persistent_buffer

Public PR: #435

Change-Id: Idd9fc6f565f37a1e37a5960f739adf05a0ca875f
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
@lordalcol
Copy link
Copy Markdown
Contributor

This is currently done in the main branch.

@lordalcol lordalcol closed this Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants