Fix: relayd: live: mishandled initial null trace chunk
[lttng-tools.git] / src / bin / lttng-relayd / viewer-stream.c
index 67c452eec7d4264139f1134b1fcdd4bc2aa2d49c..494b0e6211d22db194bb60ae6d9b7d30a8b99434 100644 (file)
@@ -54,7 +54,7 @@ struct relay_viewer_stream *viewer_stream_create(struct relay_stream *stream,
                const bool acquired_reference = lttng_trace_chunk_get(
                                trace_chunk);
 
-               assert(acquired_reference);
+               LTTNG_ASSERT(acquired_reference);
        }
 
        vstream->stream_file.trace_chunk = trace_chunk;
@@ -122,7 +122,7 @@ struct relay_viewer_stream *viewer_stream_create(struct relay_stream *stream,
         */
        if (stream->index_file == NULL) {
                vstream->index_file = NULL;
-       } else {
+       } else if (vstream->stream_file.trace_chunk) {
                const uint32_t connection_major = stream->trace->session->major;
                const uint32_t connection_minor = stream->trace->session->minor;
                enum lttng_trace_chunk_status chunk_status;
@@ -150,7 +150,7 @@ struct relay_viewer_stream *viewer_stream_create(struct relay_stream *stream,
         * If we never received a data file for the current stream, delay the
         * opening, otherwise open it right now.
         */
-       if (stream->file) {
+       if (stream->file && vstream->stream_file.trace_chunk) {
                int ret;
                char file_path[LTTNG_PATH_MAX];
                enum lttng_trace_chunk_status status;
@@ -209,7 +209,7 @@ static void viewer_stream_unpublish(struct relay_viewer_stream *vstream)
 
        iter.iter.node = &vstream->stream_n.node;
        ret = lttng_ht_del(viewer_streams_ht, &iter);
-       assert(!ret);
+       LTTNG_ASSERT(!ret);
 }
 
 static void viewer_stream_release(struct urcu_ref *ref)
@@ -347,7 +347,7 @@ int viewer_stream_rotate(struct relay_viewer_stream *vstream)
                 * has been data written at some point, which will have set the
                 * tail.
                 */
-               assert(seq_tail != -1ULL);
+               LTTNG_ASSERT(seq_tail != -1ULL);
                /*
                 * We need to resync because we lag behind tail.
                 */
This page took 0.024291 seconds and 4 git commands to generate.