The "released_buffer" is in buffers and *already* in ready_to_composite_queue. ready_to_composite_queue has two entries, the second of which is the released_buffer.
The "released_buffer" is not in buffers_owned_by_client, free_buffers, or buffers_sent_to_compositor.
There is an entry in pending_client_notifications - not sure if that is relevant.
ready_to_composite_queue is only populated by BufferQueue::client_release(). Ignoring the second release only leads to "client released out of sequence" later.
With bit of debugging:
The "released_buffer" is in buffers and *already* in ready_to_ composite_ queue. ready_to_ composite_ queue has two entries, the second of which is the released_buffer.
The "released_buffer" is not in buffers_ owned_by_ client, free_buffers, or buffers_ sent_to_ compositor.
There is an entry in pending_ client_ notifications - not sure if that is relevant.
ready_to_ composite_ queue is only populated by BufferQueue: :client_ release( ). Ignoring the second release only leads to "client released out of sequence" later.