Under fedora 25, even with selinux in permissive mode, a straight ypbind configuration fails to start because its prerequisite rpcbind service fails to start: systemd[1]: Starting RPC Bind... rpcbind[8297]: rpcbind: /run/rpcbind/rpcbind.lock: No such file or directory systemd[1]: rpcbind.service: Main process exited, code=exited, status=1/FAILURE systemd[1]: Failed to start RPC Bind. There is no more information posted about what went wrong, even if rpcbind is started in debugging mode. However, this systemd service tweak seems to help: --- /lib/systemd/system/rpcbind.service 2017-01-28 15:58:58.000000000 -0500 +++ ./rpcbind.service 2017-02-12 09:36:08.424784942 -0500 @@ -7,11 +7,12 @@ # Make sure we use the IP addresses listed for # rpcbind.socket, no matter how this unit is started. Wants=rpcbind.socket systemd-tmpfiles-setup.service -After=rpcbind.socket systemd-tmpfiles-setup.service +After=rpcbind.socket systemd-tmpfiles-setup.service network.target [Service] Type=notify EnvironmentFile=/etc/sysconfig/rpcbind +ExecStartPre=/bin/mkdir -p /run/rpcbind ExecStart=/usr/sbin/rpcbind $RPCBIND_OPTIONS -w -f [Install]
(In reply to Frank Ch. Eigler from comment #0) > However, this systemd service tweak seems to help: > > --- /lib/systemd/system/rpcbind.service 2017-01-28 15:58:58.000000000 -0500 > +++ ./rpcbind.service 2017-02-12 09:36:08.424784942 -0500 > @@ -7,11 +7,12 @@ > # Make sure we use the IP addresses listed for > # rpcbind.socket, no matter how this unit is started. > Wants=rpcbind.socket systemd-tmpfiles-setup.service > -After=rpcbind.socket systemd-tmpfiles-setup.service > +After=rpcbind.socket systemd-tmpfiles-setup.service network.target This was never needed before... I wonder what has changed. > > [Service] > Type=notify > EnvironmentFile=/etc/sysconfig/rpcbind > +ExecStartPre=/bin/mkdir -p /run/rpcbind This should not be needed since this is what systemd-tmpfiles-setup.service should be doing. > ExecStart=/usr/sbin/rpcbind $RPCBIND_OPTIONS -w -f > > [Install]
> > -After=rpcbind.socket systemd-tmpfiles-setup.service > > +After=rpcbind.socket systemd-tmpfiles-setup.service network.target > This was never needed before... I wonder what has changed. Not sure it -is- necessary. With the limited diagnostics of rpcbind, it's hard to know. (I seem to recall that starting it by hand, some time after a boot, sometimes worked.) > > [Service] > > Type=notify > > EnvironmentFile=/etc/sysconfig/rpcbind > > +ExecStartPre=/bin/mkdir -p /run/rpcbind > This should not be needed since this is what systemd-tmpfiles-setup.service > should be doing. I don't see an rpcbind related clause in any of the tmpfiles.d directories.
(In reply to Frank Ch. Eigler from comment #2) > > > -After=rpcbind.socket systemd-tmpfiles-setup.service > > > +After=rpcbind.socket systemd-tmpfiles-setup.service network.target > > This was never needed before... I wonder what has changed. > > Not sure it -is- necessary. With the limited diagnostics of rpcbind, it's > hard to know. (I seem to recall that starting it by hand, some time after a > boot, sometimes worked.) Yeah I see this with a number of packages... > > > > [Service] > > > Type=notify > > > EnvironmentFile=/etc/sysconfig/rpcbind > > > +ExecStartPre=/bin/mkdir -p /run/rpcbind > > This should not be needed since this is what systemd-tmpfiles-setup.service > > should be doing. > > I don't see an rpcbind related clause in any of the tmpfiles.d directories. Moving the lock file has been very painful... probably a mistake :-( but with rpcbind-0.2.4-4 you are still seeing this problem?
Removing my /etc/systemd custom rpcbind.service, using the up-to-date f25 rpcbind 0.2.4-2.fc25.i686, no go: ● rpcbind.service - RPC Bind Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2017-02-14 14:24:35 EST; 55s ago Docs: man:rpcbind(8) Process: 540 ExecStart=/usr/bin/rpcbind $RPCBIND_OPTIONS -w -f (code=exited, status=1/FAILURE) Main PID: 540 (code=exited, status=1/FAILURE) Feb 14 14:24:35 brutus.elastic.org rpcbind[540]: rpcbind: /run/rpcbind/rpcbind.lock: No such file or directory Feb 14 14:24:35 brutus.elastic.org systemd[1]: rpcbind.service: Main process exited, code=exited, status=1/FAILURE Feb 14 14:24:35 brutus.elastic.org systemd[1]: Failed to start RPC Bind. Feb 14 14:24:35 brutus.elastic.org systemd[1]: rpcbind.service: Unit entered failed state. Feb 14 14:24:35 brutus.elastic.org systemd[1]: rpcbind.service: Failed with result 'exit-code'. Yet ... after the boot, /run/rpcbind exists: [root@brutus ~]# ls -al /run/rpcbind total 0 drwx------. 2 rpc rpc 40 Feb 14 14:24 . drwxr-xr-x. 45 root root 1280 Feb 14 14:24 .. And a # service rpcbind start succeeds. So I suspect there's some timing problem. Hm, the new rpcbind.service does not prereq the tmpfiles service. Is that intentional?
(In reply to Frank Ch. Eigler from comment #4) > > And a # service rpcbind start succeeds. > So I suspect there's some timing problem. Hm, the new rpcbind.service does > not prereq the tmpfiles service. Is that intentional? prereq?? What is that? Its the first I've hear of that... So the answer to your question is... no! :-)
I meant: Requires=systemd-tmpfiles-setup.service After=systemd-tmpfiles-setup.service
(In reply to Frank Ch. Eigler from comment #6) > I meant: > > Requires=systemd-tmpfiles-setup.service > After=systemd-tmpfiles-setup.service Currently there is Wants=rpcbind.socket systemd-tmpfiles-setup.service After=rpcbind.socket systemd-tmpfiles-setup.service With Requires I believe rpcbind will be started every time systemd-tmpfiles-setup is started??
Either Requires | Wants probably works in this context. Please by the way also update F24; the same problem appears to exist there.
I can reproduce this issue on a freshly installed Fedora 25 with rpcbind-0.2.4-4.fc25.x86_64: # systemctl start rpcbind Mar 12 17:30:45 example.org systemd[1]: Starting RPC Bind... Mar 12 17:30:45 example.org rpcbind[1783]: rpcbind: /run/rpcbind/rpcbind.lock: No such file or directory Mar 12 17:30:45 example.org systemd[1]: rpcbind.service: Main process exited, code=exited, status=1/FAILURE Mar 12 17:30:45 example.org systemd[1]: Failed to start RPC Bind. I can work around this via: # systemd-tmpfiles --create /usr/lib/tmpfiles.d/rpcbind.conf # systemctl start rpcbind # cf. https://bugzilla.redhat.com/show_bug.cgi?id=1401561#c68
rpcbind-0.2.4-5.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-66c84b1ba8
rpcbind-0.2.4-6.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-5c5fcde1a0
rpcbind-0.2.4-6.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-5c5fcde1a0
rpcbind-0.2.4-5.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-66c84b1ba8
rpcbind-0.2.4-5.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.
rpcbind-0.2.4-6.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
Issue is still here with rpcbind-0.2.4-5.fc25
(In reply to Maël Lavault from comment #16) > Issue is still here with rpcbind-0.2.4-5.fc25 This must be a different problem
If I go in gnome-logs I can see: systemd-tmpfile Failed to open 'rpcbind.conf': No such file or directory Looks like the same issue, what do you think ?
(In reply to Maël Lavault from comment #18) > If I go in gnome-logs I can see: > > > systemd-tmpfile > Failed to open 'rpcbind.conf': No such file or directory > > Looks like the same issue, what do you think ? No. This problem was because the rpcbind.lock file could not be created because /run/rpcbind was not being created when rpcbind was not started by systemd. The problem you are seeing is different. So there is no rpcbind.conf under /usr/lib/tmpfiles.d?
Ah ok, so I do have a rpcbind.conf under /usr/lib/tmpfiles.d and permissions are the same as all other files in this directory.
maybe a workaround: for a homebrewed kernel I set CONFIG_AF_RXRPC=y CONFIG_AF_RXRPC_IPV6=y CONFIG_AF_RXRPC_INJECT_LOSS=y CONFIG_AF_RXRPC_DEBUG=y
(In reply to Maël Lavault from comment #20) > Ah ok, so I do have a rpcbind.conf under /usr/lib/tmpfiles.d and permissions > are the same as all other files in this directory. So why can't systemd access that file? selinux??
No idea... selinux is disabled...
(In reply to Maël Lavault from comment #23) > No idea... selinux is disabled... Can you please post the any error messages you get when booting? Also does systemctl restart rpcbind work?
juin 12 10:20:18 localhost kernel: calling init_sunrpc+0x0/0x6e [sunrpc] @ 349 juin 12 10:20:18 localhost kernel: RPC: Registered named UNIX socket transport module. juin 12 10:20:18 localhost kernel: RPC: Registered udp transport module. juin 12 10:20:18 localhost kernel: RPC: Registered tcp transport module. juin 12 10:20:18 localhost kernel: RPC: Registered tcp NFSv4.1 backchannel transport module. juin 12 10:20:18 localhost kernel: initcall init_sunrpc+0x0/0x6e [sunrpc] returned 0 after 142 usecs juin 12 10:20:18 localhost systemd-tmpfiles[356]: Failed to open 'rpcbind.conf': No such file or directory juin 12 10:20:18 localhost dracut-pre-udev[336]: rpcbind: /run/rpcbind/rpcbind.lock: No such file or directory juin 12 10:20:18 localhost rpc.statd[360]: Version 2.1.1 starting juin 12 10:20:18 localhost rpc.statd[360]: Initializing NSM state juin 12 10:20:18 localhost rpc.statd[360]: Running as root. chown /var/lib/nfs/statd to choose different user juin 12 10:20:18 localhost rpc.statd[360]: Failed to register (statd, 1, udp): svc_reg() err: RPC: Remote system error - Connection refused juin 12 10:20:18 localhost kernel: usb 1-5: new full-speed USB device number 3 using xhci_hcd juin 12 10:20:18 localhost rpc.statd[360]: Failed to register (statd, 1, tcp): svc_reg() err: RPC: Remote system error - Connection refused juin 12 10:20:18 localhost rpc.statd[360]: Failed to register (statd, 1, udp6): svc_reg() err: RPC: Remote system error - Connection refused juin 12 10:20:18 localhost rpc.statd[360]: Failed to register (statd, 1, tcp6): svc_reg() err: RPC: Remote system error - Connection refused juin 12 10:20:18 localhost rpc.statd[360]: failed to create RPC listeners, exiting And yes restart do work perfectly.
Downloaded fedora 26 x86)64 1 week ago, does not even boot after a fresh install. Only starts in rescue mode, drops to a shell with "dracut pre udev 344 /run/rpcbind/rpcbind.lock: no such file or directory" sysinfo: rpm -q rpcbind rpcbind-0.2.4-8.rc2.fc26.x86_64 rpm -q dracut dracut-046-2.git20170811.fc26.x86_64 uname -a 4.11.8-300.fc26.x86_64 Since I cannot disable rpcbind (nothing works without it) and rpcbind is latest version, I am totally blocked, I cannot use my computer. I had to write this report from another computer. Never before had Fedora failed to boot, much less on a fresh install, not even on hardware problems. Please somebody provide at least a workaround, it's totally critical.