Possible leak due to thread safety issue

Bug #1402382 reported by Chris Coulson on 2014-12-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
High
Chris Coulson
1.3
High
Chris Coulson
1.4
High
Chris Coulson

Bug Description

CompositorFrameHandle isn't thread-safe and is intended to be used on the UI thread (although it's also used on the QML render thread when the UI thread is paused). As a consequence it doesn't use a thread-safe reference count.

When calling Compositor::DidSwapCompositorFrame(), we check that the returned CompositorFrameHandles don't have a reference outside of the compositor, before handing them off to the compositor thread where they are deleted. However, even when there are no references held outside of the compositor, there is a race when the UI and compositor threads release their reference that means we may leak the object.

This is fixed on trunk by http://bazaar.launchpad.net/~oxide-developers/oxide/oxide.trunk/revision/892

Changed in oxide:
importance: Undecided → High
status: New → Fix Released
assignee: nobody → Chris Coulson (chrisccoulson)
milestone: none → branch-1.5
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers