diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index e702f9366a..43850c6c23 100644 --- a/src/busctl/busctl.c +++ b/src/busctl/busctl.c @@ -975,7 +975,8 @@ static int introspect(int argc, char **argv, void *userdata) { r = sd_bus_call_method(bus, argv[1], argv[2], "org.freedesktop.DBus.Properties", "GetAll", &error, &reply, "s", m->interface); if (r < 0) - return log_error_errno(r, "%s", bus_error_message(&error, r)); + return log_error_errno(r, "Failed to get all properties on interface %s: %s", + m->interface, bus_error_message(&error, r)); r = sd_bus_message_enter_container(reply, 'a', "{sv}"); if (r < 0) @@ -1181,7 +1182,12 @@ static int monitor(int argc, char **argv, int (*dump)(sd_bus_message *m, FILE *f return r; /* upgrade connection; it's not used for anything else after this call */ - r = sd_bus_message_new_method_call(bus, &message, "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus.Monitoring", "BecomeMonitor"); + r = sd_bus_message_new_method_call(bus, + &message, + "org.freedesktop.DBus", + "/org/freedesktop/DBus", + "org.freedesktop.DBus.Monitoring", + "BecomeMonitor"); if (r < 0) return bus_log_create_error(r); @@ -1229,7 +1235,8 @@ static int monitor(int argc, char **argv, int (*dump)(sd_bus_message *m, FILE *f r = sd_bus_call(bus, message, arg_timeout, &error, NULL); if (r < 0) - return log_error_errno(r, "%s", bus_error_message(&error, r)); + return log_error_errno(r, "Call to org.freedesktop.DBus.Monitoring.BecomeMonitor failed: %s", + bus_error_message(&error, r)); r = sd_bus_get_unique_name(bus, &unique_name); if (r < 0) @@ -1987,7 +1994,7 @@ static int call(int argc, char **argv, void *userdata) { r = sd_bus_call(bus, m, arg_timeout, &error, &reply); if (r < 0) - return log_error_errno(r, "%s", bus_error_message(&error, r)); + return log_error_errno(r, "Call failed: %s", bus_error_message(&error, r)); r = sd_bus_message_is_empty(reply); if (r < 0) @@ -2089,7 +2096,9 @@ static int get_property(int argc, char **argv, void *userdata) { r = sd_bus_call_method(bus, argv[1], argv[2], "org.freedesktop.DBus.Properties", "Get", &error, &reply, "ss", argv[3], *i); if (r < 0) - return log_error_errno(r, "%s", bus_error_message(&error, r)); + return log_error_errno(r, "Failed to get property %s on interface %s: %s", + *i, argv[3], + bus_error_message(&error, r)); r = sd_bus_message_peek_type(reply, &type, &contents); if (r < 0) @@ -2173,7 +2182,9 @@ static int set_property(int argc, char **argv, void *userdata) { r = sd_bus_call(bus, m, arg_timeout, &error, NULL); if (r < 0) - return log_error_errno(r, "%s", bus_error_message(&error, r)); + return log_error_errno(r, "Failed to set property %s on interface %s: %s", + argv[4], argv[3], + bus_error_message(&error, r)); return 0; } diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c index d18c578177..ae643cacc7 100644 --- a/src/libsystemd/sd-bus/bus-objects.c +++ b/src/libsystemd/sd-bus/bus-objects.c @@ -1437,16 +1437,22 @@ int bus_process_object(sd_bus *bus, sd_bus_message *m) { return 0; if (sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "Get") || - sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "Set")) + sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "Set")) { + const char *interface = NULL, *property = NULL; + + (void) sd_bus_message_rewind(m, true); + (void) sd_bus_message_read_basic(m, 's', &interface); + (void) sd_bus_message_read_basic(m, 's', &property); + r = sd_bus_reply_method_errorf( m, SD_BUS_ERROR_UNKNOWN_PROPERTY, - "Unknown property or interface."); - else + "Unknown interface %s or property %s.", strnull(interface), strnull(property)); + } else r = sd_bus_reply_method_errorf( m, SD_BUS_ERROR_UNKNOWN_METHOD, - "Unknown method '%s' or interface '%s'.", m->member, m->interface); + "Unknown method %s or interface %s.", m->member, m->interface); if (r < 0) return r; diff --git a/src/network/networkctl.c b/src/network/networkctl.c index a074dae758..b265f1f056 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -222,9 +222,11 @@ static int acquire_link_bitrates(sd_bus *bus, LinkInfo *link) { "org.freedesktop.network1.Link", "BitRates"); if (r < 0) { - if (sd_bus_error_has_name(&error, BUS_ERROR_SPEED_METER_INACTIVE)) - return 0; - return log_error_errno(r, "%s", bus_error_message(&error, r)); + bool quiet = sd_bus_error_has_name(&error, SD_BUS_ERROR_UNKNOWN_PROPERTY) || + sd_bus_error_has_name(&error, BUS_ERROR_SPEED_METER_INACTIVE); + + return log_full_errno(quiet ? LOG_DEBUG : LOG_WARNING, + r, "Failed to query link bit rates: %s", bus_error_message(&error, r)); } r = sd_bus_message_enter_container(reply, 'v', "(dd)");