summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1a447d1)
An enable-channel immediately followed by a destroy session triggered an
assert on the consumer followed by the shutdown of the consumer thread
for the kernel.
This fix make sure we don't ask the consumer to destroy a channel if not
previously sent to it and handle not found channel on destroy.
Fixes #643
Signed-off-by: David Goulet <dgoulet@efficios.com>
Conflicts:
src/common/kernel-consumer/kernel-consumer.c
- No health in stable-2.3 thus had to remove a health update
code statement.
DBG("Tearing down kernel session");
/*
DBG("Tearing down kernel session");
/*
- * Destroy channels on the consumer if in no output mode because the
- * streams are in *no* monitor mode so we have to send a command to clean
- * them up or else they leaked.
+ * Destroy channels on the consumer if at least one FD has been sent and we
+ * are in no output mode because the streams are in *no* monitor mode so we
+ * have to send a command to clean them up or else they leaked.
- if (!ksess->output_traces) {
+ if (!ksess->output_traces && ksess->consumer_fds_sent) {
int ret;
struct consumer_socket *socket;
struct lttng_ht_iter iter;
int ret;
struct consumer_socket *socket;
struct lttng_ht_iter iter;
+ /* Stop right now if no channel was found. */
+ if (!channel) {
+ goto end_nosignal;
+ }
+
/*
* This command should ONLY be issued for channel with streams set in
* no monitor mode.
/*
* This command should ONLY be issued for channel with streams set in
* no monitor mode.