803fb7
From f441ddae6363a10b1e8d8764bc906866f6ee6f48 Mon Sep 17 00:00:00 2001
803fb7
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
803fb7
Date: Thu, 29 Sep 2016 16:07:41 +0200
803fb7
Subject: [PATCH] pid1: more informative error message for ignored
803fb7
 notifications
803fb7
803fb7
It's probably easier to diagnose a bad notification message if the
803fb7
contents are printed. But still, do anything only if debugging is on.
803fb7
803fb7
 Conflicts:
803fb7
	src/core/manager.c
803fb7
803fb7
Cherry-picked from: a86b76753d7868c2d05f046f601bc7dc89fc2203
803fb7
Resolves: #1380259
803fb7
---
803fb7
 src/core/manager.c | 8 ++++++++
803fb7
 1 file changed, 8 insertions(+)
803fb7
803fb7
diff --git a/src/core/manager.c b/src/core/manager.c
803fb7
index 0376c4d4b..27f032b9d 100644
803fb7
--- a/src/core/manager.c
803fb7
+++ b/src/core/manager.c
803fb7
@@ -1631,6 +1631,14 @@ static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const
803fb7
 
803fb7
         if (UNIT_VTABLE(u)->notify_message)
803fb7
                 UNIT_VTABLE(u)->notify_message(u, pid, tags, fds);
803fb7
+        else if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) {
803fb7
+                _cleanup_free_ char *x = NULL, *y = NULL;
803fb7
+
803fb7
+                x = cescape(buf);
803fb7
+                if (x)
803fb7
+                        y = ellipsize(x, 20, 90);
803fb7
+                log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y));
803fb7
+        }
803fb7
 }
803fb7
 
803fb7
 static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) {