From: Francis Deslauriers Date: Wed, 21 Apr 2021 20:04:25 +0000 (-0400) Subject: ust: error accounting: don't print error messages if app is dead X-Git-Tag: v2.13.0-rc1~54 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=cd9c532cd057a13ca7e1fde757ae20d40d831a20 ust: error accounting: don't print error messages if app is dead UST applications may exit during the registering process. It's not an error and should be expected. Signed-off-by: Francis Deslauriers Signed-off-by: Jérémie Galarneau Change-Id: I90f91252849ba362e73dad6c30b9cfdc0185abe4 --- diff --git a/src/bin/lttng-sessiond/event-notifier-error-accounting.c b/src/bin/lttng-sessiond/event-notifier-error-accounting.c index 9bc433312..02c99b96b 100644 --- a/src/bin/lttng-sessiond/event-notifier-error-accounting.c +++ b/src/bin/lttng-sessiond/event-notifier-error-accounting.c @@ -491,6 +491,10 @@ event_notifier_error_accounting_register_app(struct ust_app *app) status = send_counter_data_to_ust(app, new_counter); if (status != EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK) { + if (status == EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_APP_DEAD) { + goto error_send_counter_data; + } + ERR("Failed to send counter data to application tracer: status = %s, application uid = %d, pid = %d, application name = '%s'", error_accounting_status_str(status), (int) app->uid, (int) app->pid, app->name); @@ -525,6 +529,10 @@ event_notifier_error_accounting_register_app(struct ust_app *app) status = send_counter_cpu_data_to_ust(app, new_counter, new_counter_cpu); if (status != EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK) { + if (status == EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_APP_DEAD) { + goto error_send_cpu_counter_data; + } + ERR("Failed to send counter cpu data to application tracer: status = %s, application uid = %d, pid = %d, application name = '%s'", error_accounting_status_str(status), (int) app->uid, (int) app->pid, diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c index a49600ec6..750b4b329 100644 --- a/src/bin/lttng-sessiond/ust-app.c +++ b/src/bin/lttng-sessiond/ust-app.c @@ -4067,13 +4067,29 @@ int ust_app_setup_event_notifier_group(struct ust_app *app) event_notifier_error_accounting_status = event_notifier_error_accounting_register_app(app); if (event_notifier_error_accounting_status != EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK) { + if (event_notifier_error_accounting_status == EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_APP_DEAD) { + DBG3("Failed to setup event notifier error accounting (application is dead): app socket fd = %d", + app->sock); + ret = 0; + goto error_accounting; + } + ERR("Failed to setup event notifier error accounting for app"); ret = -1; - goto error; + goto error_accounting; } return ret; +error_accounting: + lttng_ret = notification_thread_command_remove_tracer_event_source( + the_notification_thread_handle, + lttng_pipe_get_readfd( + app->event_notifier_group.event_pipe)); + if (lttng_ret != LTTNG_OK) { + ERR("Failed to remove application tracer event source from notification thread"); + } + error: ustctl_release_object(app->sock, app->event_notifier_group.object); free(app->event_notifier_group.object);