[Bug 825135] New: systemd rsyslog unit has problems in 12.3 (and factory) with reporting errors about itself
https://bugzilla.novell.com/show_bug.cgi?id=825135 https://bugzilla.novell.com/show_bug.cgi?id=825135#c0 Summary: systemd rsyslog unit has problems in 12.3 (and factory) with reporting errors about itself Classification: openSUSE Product: openSUSE 12.3 Version: Final Platform: Other OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Maintenance AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: carlos.e.r@opensuse.org QAContact: qa-bugs@suse.de Found By: --- Blocker: --- When there is a syntax error in the /etc/rsyslog.conf file, the service can not start, and systemd doesn't help at all to find the problem, causing other problems go unnoticed. a) Systemd tries to restart rsyslog fast, respawns fast, hits a limit, and aborts. b) Systemd tries to restart rsyslog fast, respawns fast, does not hit the speed limits, and does not abort, causing CPU 100% on one core. In both cases, the important output for diagnosis is on stderr, which systemd sends intentionally to /dev/null lest it causes a loop with syslog. It should instead be sent to a file and displayed on request (or print a message to say where it is). syslog is a special case, it should be treated differently. Output in case b) Telcontar:~ # systemctl restart rsyslog.service Telcontar:~ # Telcontar:~ # systemctl status rsyslog.service rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled) Active: failed (Result: start-limit) since Mon, 2013-06-10 02:07:29 CEST; 11ms ago Process: 9102 ExecStart=/usr/sbin/rsyslogd -n $RSYSLOGD_PARAMS (code=exited, status=1/FAILURE) Process: 9098 ExecStartPre=/usr/sbin/rsyslog-service-prepare (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/rsyslog.service Jun 10 02:07:29 Telcontar.valinor systemd[1]: Failed to start System Logging Service. Jun 10 02:07:29 Telcontar.valinor systemd[1]: Starting System Logging Service... Jun 10 02:07:29 Telcontar.valinor systemd[1]: Failed to start System Logging Service. Jun 10 02:07:29 Telcontar.valinor systemd[1]: Starting System Logging Service... (<http://lists.opensuse.org/opensuse/2013-06/msg00282.html> [opensuse] systemd causing CPU to heat up) Or worse, systemd claims success but it is not true:
Telcontar:~ # systemctl restart rsyslog Telcontar:~ #
It claims success, but it is not true, it fails seconds later:
Telcontar:~ # systemctl status rsyslog rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled) Active: failed (Result: start-limit) since Thu, 2013-06-13 23:48:23 CEST; 4s ago Process: 13783 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS) Process: 16495 ExecStart=/usr/sbin/rsyslogd -n $RSYSLOGD_PARAMS (code=exited, status=1/FAILURE) Process: 16491 ExecStartPre=/usr/sbin/rsyslog-service-prepare (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/rsyslog.service Jun 13 23:48:23 Telcontar.valinor systemd[1]: Failed to start System Logging Service. Jun 13 23:48:23 Telcontar.valinor systemd[1]: Failed to start System Logging Service. Jun 13 23:48:23 Telcontar.valinor systemd[1]: Failed to start System Logging Service.
journalctl -n says nothing different. Calling rsyslog says something else that is not in systemd log:
Telcontar:~ # rsyslogd rsyslogd: run failed with error -2207 (see rsyslog.h or try http://www.rsyslog.com/e/2207 to learn what that number means) Telcontar:~ #
Looking at the service call I see it uses the parameter "-n". ExecStart=/usr/sbin/rsyslogd -n $RSYSLOGD_PARAMS If I do, then I get this: which tells me the exact and useful error:
Telcontar:~ # /usr/sbin/rsyslogd -n rsyslogd: error during parsing file /etc/rsyslog.conf, on or before line 262: syntax error on token 'isequal' [try http://www.rsyslog.com/e/2207 ] rsyslogd: CONFIG ERROR: could not interpret master config file '/etc/rsyslog.conf'. [try http://www.rsyslog.com/e/2207 ] rsyslogd: run failed with error -2207 (see rsyslog.h or try http://www.rsyslog.com/e/2207 to learn what that number means) Telcontar:~ #
This has been discussed in the mail list: <http://lists.opensuse.org/opensuse/2013-06/msg00603.html> Re: [opensuse] systemd hides important information for diagnosis of rsyslog. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=825135 https://bugzilla.novell.com/show_bug.cgi?id=825135#c1 Andrey Borzenkov <arvidjaar@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arvidjaar@gmail.com --- Comment #1 from Andrey Borzenkov <arvidjaar@gmail.com> 2013-06-15 06:07:04 UTC --- (In reply to comment #0)
b) Systemd tries to restart rsyslog fast, respawns fast, does not hit the speed limits, and does not abort, causing CPU 100% on one core.
In 13.1 M2 syslog.socket enters failed state in this case: syslog.socket - Syslog Socket Loaded: loaded (/usr/lib/systemd/system/syslog.socket; static) Active: failed (Result: service-failed-permanent) since Sat 2013-06-15 16:00:18 MSK; 5min ago Docs: man:systemd.special(7) http://www.freedesktop.org/wiki/Software/systemd/syslog man:systemd.special(7) http://www.freedesktop.org/wiki/Software/systemd/syslog Listen: /run/systemd/journal/syslog (Datagram) Jun 15 16:00:18 linux-1a7f systemd[1]: Starting Syslog Socket. Jun 15 16:00:18 linux-1a7f systemd[1]: Listening on Syslog Socket. Jun 15 16:00:18 linux-1a7f systemd[1]: Unit syslog.socket entered failed state. But information why rsyslogd failed is still missing. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=825135 https://bugzilla.novell.com/show_bug.cgi?id=825135#c FeiXiang Zhang <fxzhang@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fcrozat@suse.com AssignedTo|bnc-team-screening@forge.pr |mt@suse.com |ovo.novell.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=825135 https://bugzilla.novell.com/show_bug.cgi?id=825135#c2 Marius Tomaschewski <mt@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX --- Comment #2 from Marius Tomaschewski <mt@suse.com> 2013-07-16 10:16:34 UTC --- Your config file has a syntax-error -- you forgot to run "rsyslogd -N 1" to verify your configuration changes. As already described in http://lists.opensuse.org/opensuse/2013-06/msg00603.html, it is not allowed for a syslog daemon to log such errors to StdErr. It would create a loop syslog-daemon -> stderr -> systemd -> syslog-daemon under systemd. Resolving as WONTFIX instead of INVALID (=config syntax error), because of the stderr/loop issue. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com