GLVND: Set current thread state to NULL in teardown

Bug #1966334 reported by Aidan Foster
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
libglvnd (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

A new fix has been merged into the libglvnd repo at https://gitlab.freedesktop.org/glvnd/libglvnd

This change fixes an issue where if eglReleaseThread gets externally called after the EGL destructor, a double free occurs due to the threadState that eglReleaseThread checks is not null being not null despite being freed by the destuctor.
The change makes the threadState null in the destructor to fix this.

Can this make it into the libs in 20.04 LTS?

Source package where the issue is encountered: https://launchpad.net/ubuntu/+source/libglvnd/1.3.2-1~ubuntu0.20.04.2

Aidan Foster (aidanf)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libglvnd (Ubuntu):
status: New → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for the bug report. It seems like a fix worth cherrypicking but could you maybe give an example of impact the issue has which is user visible? It would help especially for a stable update to have a testcase to verify the fix and to justify the importance. If it's not impacting anyone in a visible fashion then maybe it's not such an issue

Revision history for this message
Aidan Foster (aidanf) wrote :

The bug was observed running the Vulkan CTS on an Nvidia Jetson AGX Xavier Developer Kit and on a Jetson AGX Orin Developer Kit. Running the testcase dEQP-VK.api.object_management.alloc_callback_fail.instance without an X display should cause the double free to occur.
I confirmed that this is a GLVND issue, as when I built libglvnd with small fix that was merged and used it instead of the provided libs, the issue went away.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks, it seems a pretty special case and in practice not something most users are going to hit, the fix is trivial though so would be easy to cherry pick for a next upload, https://gitlab.freedesktop.org/glvnd/libglvnd/-/commit/5024e579

Changed in libglvnd (Ubuntu):
importance: Undecided → Low
Revision history for this message
Aidan Foster (aidanf) wrote :

I do think it is worth mentioning that since it is a in issue that shows up in the Vulkan CTS, it is likely that it will also show up in other applications. It may also occur on other platforms, but the two I listed are the only ones that I confirmed the issue is reproducing on.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.