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.