Fix relayd: initialize beacon to -1ULL
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 24 Apr 2019 22:56:05 +0000 (18:56 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 24 Apr 2019 22:58:44 +0000 (18:58 -0400)
commit2f9c3030a1c6ba4c1e703a6fbb6d1ef3dd2da8b5
treee08974dfc2a1bef50a9f10977ec81cdcfdcc7f12
parent2239b15a8b2a1f0bd81c9c1da3d74de3529ca493
Fix relayd: initialize beacon to -1ULL

The relayd stream beacon_ts_end field is expected to have the value
-1ULL when unset (no beacon has been received since last index).

However, the initial state is wrong. It is left at the value 0, which
indicates that a live beacon has indeed been received (which is untrue),
which in turn causes a live beacon with ctf_stream_id of -1ULL to be
sent to babeltrace, which does not expect it, and fails.

This issue can be triggered with the following scenario:

1) create live session
2) setup UST per-uid buffers tracing
3) start tracing, without any active traced application
4) hook with babeltrace live client to view the trace
5) run a traced application

Step 5) will cause the babeltrace live client to receive a stream_id of
-1ULL, and error out.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-relayd/stream.c
This page took 0.025514 seconds and 4 git commands to generate.