In lib/ringbuffer/ring_buffer_frontend.c, RING_BUFFER_ALIGN is undefined, leading to no alignment offset being recorded after the call to config->cb.record_header_size() in lib_ring_buffer_try_reserve_slow().
However, lttng-ring-buffer-client.h does define RING_BUFFER_ALIGN, so the alignment offset will be produced when the packet header is written in lttng_write_event_header(). This discrepancy may be observed on architectures that don't set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS, such as ARM, with a babeltrace error such as: babeltrace: ../../include/babeltrace/ctf/types.h:206: ctf_pos_get_event: Assertion `pos->offset <= pos->content_size' failed. Aborted indicating that the actual content size differs from the calculated one due to the difference in alignment. Including the appropriate header file in ring_buffer_frontend.c solves the problem. Signed-off-by: Wade Farnsworth <wade_farnswo...@mentor.com> --- lib/ringbuffer/ring_buffer_frontend.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c index dc0357f..a04333a 100644 --- a/lib/ringbuffer/ring_buffer_frontend.c +++ b/lib/ringbuffer/ring_buffer_frontend.c @@ -55,6 +55,7 @@ #include <linux/module.h> #include <linux/percpu.h> +#include "../../lttng-tracer-core.h" #include "../../wrapper/ringbuffer/config.h" #include "../../wrapper/ringbuffer/backend.h" #include "../../wrapper/ringbuffer/frontend.h" -- 1.7.0.4 _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev