Package: portmap
Version: 6.0-8
Severity: important

Out of the frying pan, into the fire.  The fix for #448470 isn't.

The way pidofproc is used in the portmap init script results in
stupidity during boot.  As soon as the last interface is brought up,
/etc/network/if-up.d/mountnfs is executed and in turn it runs
/etc/init.d/portmap start (this happens before /etc/rcS.d/S43portmap
is run on my system).  /etc/init.d/portmap fails because pidofproc
will fall back to using pidof -x unless you tell it not to.  pidof -x
will see the /etc/init.d/portmap script in the process list and return
it's pid, which results in the portmapper and rpc.statd not being
started, which ultimately results in /etc/network/if-up.d/mountnfs
failing to do its job and none of my nfs mounts are brought up at boot
time.

Here's a hunk of the portmap init script with set -x turned on from my
boot log and ps aux | grep " $pid " thown into the if [ -n "$pid" ]
clause to show what pidofproc is actually finding:

Fri Nov 21 03:29:53 2008: Setting up networking....
Fri Nov 21 03:29:53 2008: Configuring network interfaces...
Fri Nov 21 03:29:53 2008: Starting portmap daemon...+ pidofproc portmap
Fri Nov 21 03:29:53 2008: + local pidfile line i pids= status specified pid
Fri Nov 21 03:29:53 2008: + pidfile=
Fri Nov 21 03:29:53 2008: + specified=
Fri Nov 21 03:29:53 2008: + OPTIND=1
Fri Nov 21 03:29:53 2008: + getopts p: opt
Fri Nov 21 03:29:53 2008: + shift 0
Fri Nov 21 03:29:53 2008: + base=portmap
Fri Nov 21 03:29:53 2008: + [ !  ]
Fri Nov 21 03:29:53 2008: + pidfile=/var/run/portmap.pid
Fri Nov 21 03:29:53 2008: + [ -n /var/run/portmap.pid -a -e 
/var/run/portmap.pid ]
Fri Nov 21 03:29:53 2008: + [ -x /bin/pidof -a !  ]
Fri Nov 21 03:29:53 2008: + status=0
Fri Nov 21 03:29:53 2008: + /bin/pidof -o %PPID -x portmap
Fri Nov 21 03:29:53 2008: + [ 0 = 1 ]
Fri Nov 21 03:29:53 2008: + return 0
Fri Nov 21 03:29:53 2008: + pid=1185
Fri Nov 21 03:29:53 2008: + [ -n 1185 ]
Fri Nov 21 03:29:53 2008: + ps aux
Fri Nov 21 03:29:53 2008: + grep  1185 
Fri Nov 21 03:29:53 2008: root      1185  0.0  0.0   1708   520 tty1     S+   
03:29   0:00 /bin/sh -x /etc/init.d/portmap start
Fri Nov 21 03:29:53 2008: + log_begin_msg Already running.

If you make the pidofproc call a bit more sane, this problem won't
occur.  Use $(pidofproc -p /var/run/portmap.pid /sbin/portmap) and
it should work just fine.

-- 
Jamie Heilman                     http://audible.transient.net/~jamie/
"...thats the metaphorical equivalent of flopping your wedding tackle
 into a lion's mouth and flicking his lovespuds with a wet towel, pure
 insanity..."                                           -Rimmer



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to