Bug 632321 - claims to start ypbind, but doesn't
claims to start ypbind, but doesn't
Product: Fedora
Classification: Fedora
Component: initscripts (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: Bill Nottingham
Fedora Extras Quality Assurance
Depends On:
Blocks: F14Beta/F14BetaBlocker
  Show dependency treegraph
Reported: 2010-09-09 13:06 EDT by Jay Fenlason
Modified: 2014-08-31 19:29 EDT (History)
10 users (show)

See Also:
Fixed In Version: initscripts-9.20-1.fc14
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-09-15 03:14:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jay Fenlason 2010-09-09 13:06:16 EDT
Description of problem:
"service ypbind start" claims to start ypbind, but doesn't.

Version-Release number of selected component (if applicable):

How reproducible:
every time I tried.

Steps to Reproduce:
1.Boot system.  Notice that I can't log in because ypbind is not running.
2.Attempt to start ypbind.  It says ok, but still no ypbind.
3.log in as root and run "sh /etc/init.d/ypbind start" to start ypbind by hand.
4. now I can log in.
Actual results:
says ok, but no ypbind.

Expected results:
ypbind starts.

Additional info:
worked fine with upstart.
Comment 1 Bill Nottingham 2010-09-09 13:08:13 EDT
Any errors in /var/log/messages?
Comment 3 Bill Nottingham 2010-09-09 13:52:07 EDT
The ypbind initscript calls 'status' to see whether to actually start. (Not sure it should do this, but it's not something we should out-and-out break.) Now that starting ypbind is redirected to systemctl, the status() algorithm is returning the original script invocation as a ypbind process. So it thinks it's running, and doesn't start.

(FWIW, this ends up confusing systemd's sysv support as to the current status of ypbind.)
Comment 4 Bill Nottingham 2010-09-09 14:14:32 EDT
The simplest way to 'fix' this would be to remove '-x' from the pidof calls in init.d/functions. But this would break any sysv script that is actually trying to check the status of a shell/python/perl/etc. script, which is a regression that I don't want to introduce.

An ugly fix would be to add an option to pidof that excludes things with the same execution environment (shell & script) of pidof's $PPID. That's gross, but should DTRT.
Comment 5 Bill Nottingham 2010-09-09 14:37:13 EDT
Another potential fix would be for systemd to somehow pass in the pid of the script that called systemctl, and act on that. Not sure that's practical.
Comment 6 Bill Nottingham 2010-09-09 15:51:29 EDT
One more potential solution: have the redirect exec systemctl instead of invoking it. This is going to mean that all stop/start/etc. commands become much much less verbose.
Comment 7 Bill Nottingham 2010-09-09 16:57:33 EDT
The ugly fix in comment #4 is probably the most correct, as it's the only one that fixes the existing-even-with-upstart bug of two concurrent 'service <foo> status' calls returning each other.
Comment 8 Fedora Update System 2010-09-09 17:53:24 EDT
systemd-9-3.fc14,initscripts-9.20-1.fc14,sysvinit-2.87-5.dsf.fc14 has been submitted as an update for Fedora 14.
Comment 9 Fedora Update System 2010-09-10 11:14:41 EDT
initscripts-9.20-1.fc14, sysvinit-2.87-5.dsf.fc14, systemd-9-3.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update initscripts sysvinit systemd'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/systemd-9-3.fc14,initscripts-9.20-1.fc14,sysvinit-2.87-5.dsf.fc14
Comment 10 Fedora Update System 2010-09-14 00:29:07 EDT
systemd-10-1.fc14, initscripts-9.20-1.fc14, sysvinit-2.87-5.dsf.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update systemd initscripts sysvinit'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/systemd-10-1.fc14,initscripts-9.20-1.fc14,sysvinit-2.87-5.dsf.fc14
Comment 11 Fedora Update System 2010-09-15 03:12:42 EDT
initscripts-9.20-1.fc14, sysvinit-2.87-5.dsf.fc14, systemd-10-2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.