Fix: sessiond: assertion fails when getting name of trigger
[lttng-tools.git] / src / bin / lttng-sessiond / cmd.c
index 5c8efb40ee2c658e4959716836de214dc4bdc5a2..2ba825da006cae03d2bb5a8ab396d4642843f5df 100644 (file)
@@ -4323,7 +4323,9 @@ enum lttng_error_code cmd_register_trigger(const struct lttng_credentials *cmd_c
        enum lttng_trigger_status trigger_status;
 
        trigger_status = lttng_trigger_get_name(trigger, &trigger_name);
-       assert(trigger_status == LTTNG_TRIGGER_STATUS_OK);
+       trigger_name = trigger_status == LTTNG_TRIGGER_STATUS_OK ?
+                       trigger_name : "(unnamed)";
+
        trigger_status = lttng_trigger_get_owner_uid(
                trigger, &trigger_owner);
        assert(trigger_status == LTTNG_TRIGGER_STATUS_OK);
@@ -4373,11 +4375,15 @@ enum lttng_error_code cmd_register_trigger(const struct lttng_credentials *cmd_c
        ret_code = notification_thread_command_register_trigger(notification_thread,
                        trigger);
        if (ret_code != LTTNG_OK) {
-               ERR("Failed to register trigger to notification thread: trigger name = '%s', trigger owner uid = %d, error code = %d",
+               DBG("Failed to register trigger to notification thread: trigger name = '%s', trigger owner uid = %d, error code = %d",
                                trigger_name, (int) trigger_owner, ret_code);
                goto end_notification_thread;
        }
 
+       trigger_status = lttng_trigger_get_name(trigger, &trigger_name);
+       trigger_name = trigger_status == LTTNG_TRIGGER_STATUS_OK ?
+                       trigger_name : "(unnamed)";
+
        ret_code = trigger_modifies_event_notifier(trigger, &must_update_event_notifier);
        if (ret_code != LTTNG_OK) {
                ERR("Failed to determine if event modifies event notifiers: trigger name = '%s', trigger owner uid = %d, error code = %d",
@@ -4443,7 +4449,7 @@ enum lttng_error_code cmd_unregister_trigger(const struct lttng_credentials *cmd
        enum lttng_trigger_status trigger_status;
 
        trigger_status = lttng_trigger_get_name(trigger, &trigger_name);
-       assert(trigger_status == LTTNG_TRIGGER_STATUS_OK);
+       trigger_name = trigger_status == LTTNG_TRIGGER_STATUS_OK ? trigger_name : "(unnamed)";
        trigger_status = lttng_trigger_get_owner_uid(
                trigger, &trigger_owner);
        assert(trigger_status == LTTNG_TRIGGER_STATUS_OK);
@@ -4479,7 +4485,7 @@ enum lttng_error_code cmd_unregister_trigger(const struct lttng_credentials *cmd
        ret_code = notification_thread_command_unregister_trigger(notification_thread,
                                                                  trigger);
        if (ret_code != LTTNG_OK) {
-               ERR("Failed to unregister trigger from notification thread: trigger name = '%s', trigger owner uid = %d, error code = %d",
+               DBG("Failed to unregister trigger from notification thread: trigger name = '%s', trigger owner uid = %d, error code = %d",
                                trigger_name, (int) trigger_owner, ret_code);
        }
 
This page took 0.023668 seconds and 4 git commands to generate.