With systemd < 219, restarting the journald service closes the stdout and stderr streams associated with services.
The NM process has SIGPIPE ignored, but g_spawn_sync()/g_spawn_async() re-enable it and so any child executed with those functions will terminate by default if it tries to log anything to stdout/stderr.
The teamd instance launched by NM is affected by this problem since it writes debug messages before actually ignoring SIGPIPE.
To fix this, use the @child_setup callback of g_spawn() to ignore again SIGPIPE in the child process.
https://bugzilla.redhat.com/show_bug.cgi?id=1393853
a6d34f9 team: ignore SIGPIPE when spawning teamd
src/devices/team/nm-device-team.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
Upstream: cgit.freedesktop.org