[lttng-dev] [PATCH lttng-tools] Fix: report UST consumer channel creation error

David Goulet dgoulet at efficios.com
Thu Sep 25 11:33:58 EDT 2014


Merged!

On 22 Sep (12:39:08), Mathieu Desnoyers wrote:
> The session daemon reports no error whatsoever when the consumer daemon
> fails to create a channel. We don't want to print errors when failing to
> send the channel to the UST application though, because the application
> may be concurrently exiting. So only print those errors when receiving
> reply from the consumerd.
> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
>  src/bin/lttng-sessiond/ust-app.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c
> index 4a7fada..f8e9693 100644
> --- a/src/bin/lttng-sessiond/ust-app.c
> +++ b/src/bin/lttng-sessiond/ust-app.c
> @@ -2450,6 +2450,8 @@ static int create_channel_per_uid(struct ust_app *app,
>  		/* Create the buffer registry channel object. */
>  		ret = create_buffer_reg_channel(reg_uid->registry, ua_chan, &reg_chan);
>  		if (ret < 0) {
> +			ERR("Error creating the UST channel \"%s\" registry instance",
> +				ua_chan->name);
>  			goto error;
>  		}
>  		assert(reg_chan);
> @@ -2461,6 +2463,9 @@ static int create_channel_per_uid(struct ust_app *app,
>  		ret = do_consumer_create_channel(usess, ua_sess, ua_chan,
>  				app->bits_per_long, reg_uid->registry->reg.ust);
>  		if (ret < 0) {
> +			ERR("Error creating UST channel \"%s\" on the consumer daemon",
> +				ua_chan->name);
> +
>  			/*
>  			 * Let's remove the previously created buffer registry channel so
>  			 * it's not visible anymore in the session registry.
> @@ -2477,6 +2482,8 @@ static int create_channel_per_uid(struct ust_app *app,
>  		 */
>  		ret = setup_buffer_reg_channel(reg_uid->registry, ua_chan, reg_chan);
>  		if (ret < 0) {
> +			ERR("Error setting up UST channel \"%s\"",
> +				ua_chan->name);
>  			goto error;
>  		}
>  
> @@ -2485,6 +2492,10 @@ static int create_channel_per_uid(struct ust_app *app,
>  	/* Send buffers to the application. */
>  	ret = send_channel_uid_to_ust(reg_chan, app, ua_sess, ua_chan);
>  	if (ret < 0) {
> +		/*
> +		 * Don't report error to the console, since it may be
> +		 * caused by application concurrently exiting.
> +		 */
>  		goto error;
>  	}
>  
> @@ -2519,6 +2530,8 @@ static int create_channel_per_pid(struct ust_app *app,
>  	/* Create and add a new channel registry to session. */
>  	ret = ust_registry_channel_add(registry, ua_chan->key);
>  	if (ret < 0) {
> +		ERR("Error creating the UST channel \"%s\" registry instance",
> +			ua_chan->name);
>  		goto error;
>  	}
>  
> @@ -2526,11 +2539,17 @@ static int create_channel_per_pid(struct ust_app *app,
>  	ret = do_consumer_create_channel(usess, ua_sess, ua_chan,
>  			app->bits_per_long, registry);
>  	if (ret < 0) {
> +		ERR("Error creating UST channel \"%s\" on the consumer daemon",
> +			ua_chan->name);
>  		goto error;
>  	}
>  
>  	ret = send_channel_pid_to_ust(app, ua_sess, ua_chan);
>  	if (ret < 0) {
> +		/*
> +		 * Don't report error to the console, since it may be
> +		 * caused by application concurrently exiting.
> +		 */
>  		goto error;
>  	}
>  
> -- 
> 2.1.0
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: Digital signature
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20140925/f293ebb7/attachment.sig>


More information about the lttng-dev mailing list