UST subbuffers silently dropped on moderate trace traffic
lttng-tools commit 02b3d1769d5f8a33e4109b1e681141c9295dfda6 introduced an important regression for lttng-ust tracing in the consumer daemon: after reading a sub-buffer, a check has been added to see whether there are more sub-buffers available to read, and if it is the case, it ensures the wakeup pipe will be awakened again.
The issue lies in the use of ustctl_put_next_subbuf() in this check. This acts as if the sub-buffer has been read, when in reality it has not been read. It therefore trashes the data contained by this sub-buffer.
This check should use ustctl_put_subbuf(), which does not move the consumer position.