systemd: Certain oneshot services get started more than once
Ed Swierk
eswierk at skyportsystems.com
Thu Jun 5 02:28:15 BST 2014
Subject: systemd: Certain oneshot services get started more than once
Package: systemd
Version: 208-1
Severity: normal
Dear Maintainer,
During boot, certain services with Type=oneshot are started more than
once. The set of affected services varies between boots, but almost
always includes systemd-journal-flush.service and
systemd-random-seed.service.
The services don't seem to mind--they return with status=0/SUCCESS.
But occasionally a service gets started so many times that systemd
itself marks it as failed (Result: start-limit) and prints a big red
FAILED on the console.
I found that adding RemainAfterExit=yes to the service file prevents
this from happening. But nothing in the systemd documentation (nor in
the code, to the extent I understand it) indicates that this is
necessary for oneshot services.
The output of systemctl status and show are included below. I'd
appreciate any suggestions on debugging this further.
# systemctl status systemd-journal-flush.service | cat
systemd-journal-flush.service - Trigger Flushing of Journal to
Persistent Storage
Loaded: loaded (/lib/systemd/system/systemd-journal-flush.service; static)
Active: inactive (dead) since Thu 2014-06-05 00:53:02 UTC; 15min ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Process: 753 ExecStart=/bin/systemctl kill --kill-who=main
--signal=SIGUSR1 systemd-journald.service (code=exited,
status=0/SUCCESS)
Main PID: 753 (code=exited, status=0/SUCCESS)
# systemctl show systemd-journal-flush.service | sort
ActiveEnterTimestampMonotonic=0
ActiveExitTimestampMonotonic=0
ActiveState=inactive
After=systemd-journald.service local-fs.target remote-fs.target
systemd-journald.socket
AllowIsolate=no
Before=systemd-user-sessions.service
BlockIOAccounting=no
BlockIOWeight=1000
CanIsolate=no
CanReload=no
CanStart=yes
CanStop=yes
CapabilityBoundingSet=18446744073709551615
ConditionResult=yes
ConditionTimestampMonotonic=15390363
ConditionTimestamp=Thu 2014-06-05 00:53:01 UTC
ControlPID=0
CPUAccounting=no
CPUSchedulingPolicy=0
CPUSchedulingPriority=0
CPUSchedulingResetOnFork=no
CPUShares=1024
DefaultDependencies=no
Description=Trigger Flushing of Journal to Persistent Storage
DevicePolicy=auto
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
ExecMainCode=1
ExecMainExitTimestampMonotonic=16310878
ExecMainExitTimestamp=Thu 2014-06-05 00:53:02 UTC
ExecMainPID=753
ExecMainStartTimestampMonotonic=15391998
ExecMainStartTimestamp=Thu 2014-06-05 00:53:01 UTC
ExecMainStatus=0
ExecStart={ path=/bin/systemctl ; argv[]=/bin/systemctl kill
--kill-who=main --signal=SIGUSR1 systemd-journald.service ;
ignore_errors=no ; start_time=[Thu 2014-06-05 00:53:01 UTC] ;
stop_time=[Thu 2014-06-05 00:53:02 UTC] ; pid=753 ; code=exited ;
status=0 }
FragmentPath=/lib/systemd/system/systemd-journal-flush.service
GuessMainPID=yes
Id=systemd-journal-flush.service
IgnoreOnIsolate=no
IgnoreOnSnapshot=no
IgnoreSIGPIPE=yes
InactiveEnterTimestampMonotonic=16311220
InactiveEnterTimestamp=Thu 2014-06-05 00:53:02 UTC
InactiveExitTimestampMonotonic=15392158
InactiveExitTimestamp=Thu 2014-06-05 00:53:01 UTC
IOScheduling=0
JobTimeoutUSec=0
KillMode=control-group
KillSignal=15
LimitAS=9223372036854775807
LimitCORE=9223372036854775807
LimitCPU=9223372036854775807
LimitDATA=9223372036854775807
LimitFSIZE=9223372036854775807
LimitLOCKS=9223372036854775807
LimitMEMLOCK=65536
LimitMSGQUEUE=819200
LimitNICE=0
LimitNOFILE=4096
LimitNPROC=64103
LimitRSS=9223372036854775807
LimitRTPRIO=0
LimitRTTIME=9223372036854775807
LimitSIGPENDING=64103
LimitSTACK=9223372036854775807
LoadState=loaded
MainPID=0
MemoryAccounting=no
MemoryLimit=18446744073709551615
MountFlags=0
Names=systemd-journal-flush.service
NeedDaemonReload=no
Nice=0
NonBlocking=no
NoNewPrivileges=no
NotifyAccess=none
OnFailureIsolate=no
OOMScoreAdjust=0
PermissionsStartOnly=no
PrivateNetwork=no
PrivateTmp=no
RefuseManualStart=no
RefuseManualStop=no
RemainAfterExit=no
Requires=systemd-journald.service
Restart=no
RestartUSec=100ms
Result=success
RootDirectoryStartOnly=no
SameProcessGroup=no
SecureBits=0
SendSIGHUP=no
SendSIGKILL=yes
Slice=system.slice
StandardError=inherit
StandardInput=null
StandardOutput=journal
StartLimitAction=none
StartLimitBurst=5
StartLimitInterval=10000000
StopWhenUnneeded=no
SubState=dead
SyslogLevelPrefix=yes
SyslogPriority=30
TimeoutStartUSec=0
TimeoutStopUSec=1min 30s
TimerSlackNSec=50000
Transient=no
TTYReset=no
TTYVHangup=no
TTYVTDisallocate=no
Type=oneshot
UMask=0022
UnitFileState=static
WantedBy=sysinit.target
WatchdogTimestampMonotonic=0
WatchdogUSec=0
# systemctl status systemd-random-seed.service | cat
systemd-random-seed.service - Load/Save Random Seed
Loaded: loaded (/lib/systemd/system/systemd-random-seed.service; static)
Active: inactive (dead) since Thu 2014-06-05 00:53:01 UTC; 15min ago
Docs: man:systemd-random-seed.service(8)
man:random(4)
Process: 942 ExecStop=/lib/systemd/systemd-random-seed save
(code=exited, status=0/SUCCESS)
Process: 940 ExecStart=/lib/systemd/systemd-random-seed load
(code=exited, status=0/SUCCESS)
Main PID: 940 (code=exited, status=0/SUCCESS)
# systemctl show systemd-random-seed.service | sort
ActiveEnterTimestampMonotonic=0
ActiveExitTimestampMonotonic=0
ActiveState=inactive
After=systemd-readahead-collect.service
systemd-readahead-replay.service systemd-remount-fs.service
systemd-journald.socket var.mount -.mount
AllowIsolate=no
Before=sysinit.target shutdown.target networking.service
BlockIOAccounting=no
BlockIOWeight=1000
CanIsolate=no
CanReload=no
CanStart=yes
CanStop=yes
CapabilityBoundingSet=18446744073709551615
ConditionResult=yes
ConditionTimestampMonotonic=15577303
ConditionTimestamp=Thu 2014-06-05 00:53:01 UTC
Conflicts=shutdown.target
ControlPID=0
CPUAccounting=no
CPUSchedulingPolicy=0
CPUSchedulingPriority=0
CPUSchedulingResetOnFork=no
CPUShares=1024
DefaultDependencies=no
Description=Load/Save Random Seed
DevicePolicy=auto
Documentation=man:systemd-random-seed.service(8) man:random(4)
ExecMainCode=1
ExecMainExitTimestampMonotonic=15600643
ExecMainExitTimestamp=Thu 2014-06-05 00:53:01 UTC
ExecMainPID=940
ExecMainStartTimestampMonotonic=15578849
ExecMainStartTimestamp=Thu 2014-06-05 00:53:01 UTC
ExecMainStatus=0
ExecStart={ path=/lib/systemd/systemd-random-seed ;
argv[]=/lib/systemd/systemd-random-seed load ; ignore_errors=no ;
start_time=[Thu 2014-06-05 00:53:01 UTC] ; stop_time=[Thu 2014-06-05
00:53:01 UTC] ; pid=940 ; code=exited ; status=0 }
ExecStop={ path=/lib/systemd/systemd-random-seed ;
argv[]=/lib/systemd/systemd-random-seed save ; ignore_errors=no ;
start_time=[Thu 2014-06-05 00:53:01 UTC] ; stop_time=[Thu 2014-06-05
00:53:01 UTC] ; pid=942 ; code=exited ; status=0 }
FragmentPath=/lib/systemd/system/systemd-random-seed.service
GuessMainPID=yes
Id=systemd-random-seed.service
IgnoreOnIsolate=no
IgnoreOnSnapshot=no
IgnoreSIGPIPE=yes
InactiveEnterTimestampMonotonic=15671038
InactiveEnterTimestamp=Thu 2014-06-05 00:53:01 UTC
InactiveExitTimestampMonotonic=15579003
InactiveExitTimestamp=Thu 2014-06-05 00:53:01 UTC
IOScheduling=0
JobTimeoutUSec=0
KillMode=control-group
KillSignal=15
LimitAS=9223372036854775807
LimitCORE=9223372036854775807
LimitCPU=9223372036854775807
LimitDATA=9223372036854775807
LimitFSIZE=9223372036854775807
LimitLOCKS=9223372036854775807
LimitMEMLOCK=65536
LimitMSGQUEUE=819200
LimitNICE=0
LimitNOFILE=4096
LimitNPROC=64103
LimitRSS=9223372036854775807
LimitRTPRIO=0
LimitRTTIME=9223372036854775807
LimitSIGPENDING=64103
LimitSTACK=9223372036854775807
LoadState=loaded
MainPID=0
MemoryAccounting=no
MemoryLimit=18446744073709551615
MountFlags=0
Names=systemd-random-seed.service urandom.service
NeedDaemonReload=no
Nice=0
NonBlocking=no
NoNewPrivileges=no
NotifyAccess=none
OnFailureIsolate=no
OOMScoreAdjust=0
PermissionsStartOnly=no
PrivateNetwork=no
PrivateTmp=no
RefuseManualStart=no
RefuseManualStop=no
RemainAfterExit=no
RequiresMountsFor=/var/lib/systemd/random-seed
Restart=no
RestartUSec=100ms
Result=success
RootDirectoryStartOnly=no
SameProcessGroup=no
SecureBits=0
SendSIGHUP=no
SendSIGKILL=yes
Slice=system.slice
StandardError=inherit
StandardInput=null
StandardOutput=journal
StartLimitAction=none
StartLimitBurst=5
StartLimitInterval=10000000
StopWhenUnneeded=no
SubState=dead
SyslogLevelPrefix=yes
SyslogPriority=30
TimeoutStartUSec=0
TimeoutStopUSec=1min 30s
TimerSlackNSec=50000
Transient=no
TTYReset=no
TTYVHangup=no
TTYVTDisallocate=no
Type=oneshot
UMask=0022
UnitFileState=static
WantedBy=sysinit.target
WatchdogTimestampMonotonic=0
WatchdogUSec=0
-- Package-specific info:
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: mips (mips64)
Kernel: Linux 3.10.20-rt14-xxx (SMP w/32 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages systemd depends on:
ii acl 2.2.52-1
ii adduser 3.113+nmu3
ii initscripts 2.88dsf-53
ii libacl1 2.2.52-1
ii libaudit1 1:2.3.6-1
ii libblkid1 2.20.1-5.8
ii libc6 2.18-7
ii libcap2 1:2.22-1.2
ii libcap2-bin 1:2.22-1.2
ii libcryptsetup4 2:1.6.4-4
ii libdbus-1-3 1.8.2-1
ii libgcrypt11 1.5.3-4
ii libkmod2 17-2
ii liblzma5 5.1.1alpha+20120614-2
ii libpam0g 1.1.8-3
ii libselinux1 2.3-1
ii libsystemd-daemon0 208-1
ii libsystemd-journal0 208-1
ii libsystemd-login0 208-1
ii libudev1 208-1
ii libwrap0 7.6.q-25
ii sysv-rc 2.88dsf-53
ii udev 208-1
ii util-linux 2.20.1-5.8
Versions of packages systemd recommends:
ii libpam-systemd 208-1
Versions of packages systemd suggests:
pn systemd-ui <none>
-- Configuration Files:
/etc/systemd/system.conf changed:
[Manager]
LogTarget=console
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list