[Bug 297137] daemon(8): stdout redirection to syslog no longer splits output on newlines during bursts
[email protected] Wed, 29 Jul 2026 08:25:17 +0000
| Newsgroups | gmane.os.freebsd.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D297137
Bug ID: 297137
Summary: daemon(8): stdout redirection to syslog no longer
splits output on newlines during bursts
Product: Base System
Version: 15.1-STABLE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: [email protected]
Reporter: [email protected]
daemon(8) -S no longer splits newline-delimited stdout into individual sysl=
og
messages during bursts on FreeBSD 15.1
Works correctly on FreeBSD 14.3
Reproduces on FreeBSD 15.1
Steps to reproduce:
# /usr/sbin/daemon -S -T testlog /bin/sh -c '/usr/bin/jot 10 | /usr/bin/sed
"s/^/test line /"'
Tracing with:
# truss -f -s 65535 -o /tmp/daemon.truss /usr/sbin/daemon -S -T testlog /bi=
n/sh
-c '/usr/bin/jot 10 | /usr/bin/sed "s/^/test line /"'
# grep -E 'sendto|sendmsg|writev' /tmp/daemon.truss
Expected result:
Each line is forwarded as a separate syslog message.
Actual result:
On FreeBSD 15, daemon(8) performs a single sendto() containing all lines
separated by \n, resulting in one multiline syslog message instead of multi=
ple
records.
Additional information:
On FreeBSD 14.3, truss shows one sendto() per line. On FreeBSD 15.1, truss
shows a single sendto() containing all lines, indicating the regression occ=
urs
in daemon(8) before the messages reach syslog.
--=20
You are receiving this mail because:
You are the assignee for the bug.=