Bug 1186724 - numad initscript confuses daemon function
Summary: numad initscript confuses daemon function
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: numad
Version: 6.6
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Jan Synacek
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-28 12:07 UTC by Filip Krska
Modified: 2019-07-11 08:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-22 07:46:27 UTC
Target Upstream Version:


Attachments (Terms of Use)
remove quotes around daemon() parameters (448 bytes, patch)
2015-01-28 12:07 UTC, Filip Krska
jsynacek: review+
Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:1441 normal SHIPPED_LIVE numad bug fix update 2015-07-20 18:05:46 UTC

Description Filip Krska 2015-01-28 12:07:56 UTC
Created attachment 985108 [details]
remove quotes around daemon() parameters

Description of problem:

/etc/init.d/numad calls

    daemon "$exec -i $INTERVAL"

upon start().

This confuses daemon() and subsequently __pids_var_run() function and leads to bogus error messages:

Starting numad: /usr/bin/dirname: extra operand `-i'
Try `/usr/bin/dirname --help' for more information.


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

numad-0.5-11.20140620git.el6.x86_64
initscripts-9.03.46-1.el6.x86_64

How reproducible:

Always

Steps to Reproduce:
1. # service numad (re)?start


Actual results:

Starting numad: /usr/bin/dirname: extra operand `-i'
Try `/usr/bin/dirname --help' for more information.
                                                           [  OK  ]

Expected results:

Starting numad:                                            [  OK  ]

Additional info:

Doesn't reproduce with initscripts-9.03.40-2.el6_5.4, bug is triggered by patch:

- init.d/functions: check parent dir of pid file for accessibility

 __pids_var_run() {
 	local base=${1##*/}
 	local pid_file=${2:-/var/run/$base.pid}
-	local pid_dir=$(/usr/bin/dirname $pid_file)
 	local binary=$3
 
-	[ -d "$pid_dir" -a ! -r "$pid_dir" ] && return 4
-
 	pid=
 	if [ -f "$pid_file" ] ; then
 	        local line p

Patch removing quotes attached. I'll check the initscripts package, daemon() and __pids_var_run() functions should be more robust IMHO as well.

Comment 1 Jan Synacek 2015-01-29 07:49:28 UTC
Sounds reasonable to me, although I don't know how daemon() should work, the added quotes are probably right.

Comment 2 Jan Synacek 2015-01-29 07:51:36 UTC
...I mean, the change that *removes* the quotes is probably right.

Comment 7 errata-xmlrpc 2015-07-22 07:46:27 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-1441.html


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