[lttng-dev] lttng-tools 2.6-rc vs. lttng-ust master
jeremie.galarneau at efficios.com
Fri Dec 12 14:33:28 EST 2014
On Fri, Dec 12, 2014 at 1:36 PM, Nathan Lynch <Nathan_Lynch at mentor.com> wrote:
> By accident I attempted to build lttng-tools stable-2.6 branch
> against current lttng-ust master, and got:
> trace-ust.c: In function 'trace_ust_create_event':
> trace-ust.c:430:11: error: 'struct lttng_ust_event' has no member named 'disabled'
> lue->attr.disabled = 1;
> I found the commit below, which seems to indicate that this may be
> anticipated/intentional, but I figured I'd raise the issue in case
> it's not. Breaking source compatibility with lttng-tools doesn't
> seem like a big deal, but does the removal of the 'disabled' field in
> lttng-ust/master present a problem for other users of the library?
It's not a problem for instrumented applications as this is strictly a
sessiond <-> UST communication change.
> commit 3a4009667b330f62fc4d6100ead0bcfd5f5526d6
> Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> Date: Wed Nov 12 18:18:32 2014 -0500
> Fix: filter attach vs event enable race
> In order to correctly handle the use-case where events are enabled
> _after_ trace is started, and _after_ applications are already being
> traced, the event should be created in a "disabled" state, so that it
> does not trace events until its filter is attached.
> This fix needs to be done both in lttng-tools and lttng-ust. In order to
> keep ABI compatibility between tools and ust within a stable release
> cycle, we introduce a new "disabled" within struct lttng_ust_event
> padding (previously zeroed). Newer LTTng-UST checks this flag, and
> fallback on the old racy behavior (enabling the event on creation) if it
> is unset.
> Therefore, old session daemon works with newer lttng-ust of the same
> stable release, and vice-versa. However, building lttng-tools requires
> an upgraded lttng-ust, which contains the communication protocol with
> the new "disabled" field.
> This patch should be backported to stable-2.4, stable-2.5, stable-2.6
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
More information about the lttng-dev