I think I see the problem. When the switching bundle switches, it only assigns free buffers to the new swapper. Non-free buffers are those still in use by a client/compositor.
So it's quite possible and correct that there will be more release calls than acquires after a switch. Either we should remove the client counter (because it's plain wrong), or we should augment it with a second counter to distinguish client acquires which happened before/after the latest switch.
I think I see the problem. When the switching bundle switches, it only assigns free buffers to the new swapper. Non-free buffers are those still in use by a client/compositor.
So it's quite possible and correct that there will be more release calls than acquires after a switch. Either we should remove the client counter (because it's plain wrong), or we should augment it with a second counter to distinguish client acquires which happened before/after the latest switch.