Bug#368587: invoke-rc.d: initscript nscd, action stop failed.

2006-05-23 Thread Francesco Paolo Lovergine
Package: nscd
Version: 2.3.6-7
Severity: serious


An invoke-rc.d failure prevents package upgrading. 
You should manage that case in prerm in order to avoid
such a problem, or return 0 in case of failure in the
init script, as well. Most servers in debian do the last, AFAIK.
Feel free to close this report if already properly managed in -9 scripts.


klecker:~$ ps -fe|grep nscd
frankie  14797  4397  0 12:27 pts/17   00:00:00 grep nscd
klecker:~$ sudo /etc/init.d/nscd start
Starting Name Service Cache Daemon: nscd.
klecker:~$ ps -fe|grep nscd
root 14804 1  0 12:27 ?00:00:00 /usr/sbin/nscd
frankie  14812  4397  0 12:27 pts/17   00:00:00 grep nscd
klecker:~$ sudo apt-get -u dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
The following packages will be upgraded:
  nscd
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
30 not fully installed or removed.
Need to get 0B/136kB of archives.
After unpacking 0B of additional disk space will be used.
Do you want to continue [Y/n]?
Reading package fields... Done
Reading package status... Done
Retrieving bug reports... Done
Reading changelogs... Done
(Reading database ... 164331 files and directories currently installed.)
Preparing to replace nscd 2.3.6-7 (using .../archives/nscd_2.3.6-9_i386.deb) ...
Stopping Name Service Cache Daemon: nscd.
invoke-rc.d: initscript nscd, action stop failed.
dpkg: warning - old pre-removal script returned error exit status 1
dpkg - trying script from the new package instead ...
Stopping Name Service Cache Daemon: nscd.
invoke-rc.d: initscript nscd, action stop failed.
dpkg: error processing /var/cache/apt/archives/nscd_2.3.6-9_i386.deb (--unpack):
 subprocess new pre-removal script returned error exit status 1
Starting Name Service Cache Daemon: nscd.
Errors were encountered while processing:
 /var/cache/apt/archives/nscd_2.3.6-9_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-1-686
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages nscd depends on:
ii  libc6 2.3.6-9GNU C Library: Shared libraries

nscd recommends no packages.

-- no debconf information


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



Bug#368587: invoke-rc.d: initscript nscd, action stop failed.

2006-05-23 Thread Steve Langasek
On Tue, May 23, 2006 at 12:40:18PM +0200, Francesco Paolo Lovergine wrote:
 klecker:~$ ps -fe|grep nscd
 frankie  14797  4397  0 12:27 pts/17   00:00:00 grep nscd
 klecker:~$ sudo /etc/init.d/nscd start
 Starting Name Service Cache Daemon: nscd.
 klecker:~$ ps -fe|grep nscd
 root 14804 1  0 12:27 ?00:00:00 /usr/sbin/nscd
 frankie  14812  4397  0 12:27 pts/17   00:00:00 grep nscd
 klecker:~$ sudo apt-get -u dist-upgrade
 Reading package lists... Done
 Building dependency tree... Done
 Calculating upgrade... Done
 The following packages will be upgraded:
   nscd
 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 30 not fully installed or removed.
 Need to get 0B/136kB of archives.
 After unpacking 0B of additional disk space will be used.
 Do you want to continue [Y/n]?
 Reading package fields... Done
 Reading package status... Done
 Retrieving bug reports... Done
 Reading changelogs... Done
 (Reading database ... 164331 files and directories currently installed.)
 Preparing to replace nscd 2.3.6-7 (using .../archives/nscd_2.3.6-9_i386.deb) 
 ...
 Stopping Name Service Cache Daemon: nscd.
 invoke-rc.d: initscript nscd, action stop failed.
 dpkg: warning - old pre-removal script returned error exit status 1
 dpkg - trying script from the new package instead ...
 Stopping Name Service Cache Daemon: nscd.
 invoke-rc.d: initscript nscd, action stop failed.
 dpkg: error processing /var/cache/apt/archives/nscd_2.3.6-9_i386.deb 
 (--unpack):
  subprocess new pre-removal script returned error exit status 1
 Starting Name Service Cache Daemon: nscd.
 Errors were encountered while processing:
  /var/cache/apt/archives/nscd_2.3.6-9_i386.deb
 E: Sub-process /usr/bin/dpkg returned an error code (1)

If the init script fails to stop the daemon, it is *correct* to fail the
upgrade as well.  We should not leave old versions of daemons silently
running after upgrade, this is a potential security hole.

The real question here is why the init script is failing to stop nscd on
your system.  This may or may not warrant an RC severity; probably not,
since it hasn't been reported before now.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Bug#368587: invoke-rc.d: initscript nscd, action stop failed.

2006-05-23 Thread Francesco Paolo Lovergine
On Tue, May 23, 2006 at 09:16:27AM -0700, Steve Langasek wrote:
 On Tue, May 23, 2006 at 12:40:18PM +0200, Francesco Paolo Lovergine wrote:
  klecker:~$ ps -fe|grep nscd
  frankie  14797  4397  0 12:27 pts/17   00:00:00 grep nscd
  klecker:~$ sudo /etc/init.d/nscd start
  Starting Name Service Cache Daemon: nscd.
  klecker:~$ ps -fe|grep nscd
  root 14804 1  0 12:27 ?00:00:00 /usr/sbin/nscd
  frankie  14812  4397  0 12:27 pts/17   00:00:00 grep nscd
  klecker:~$ sudo apt-get -u dist-upgrade
  Reading package lists... Done
  Building dependency tree... Done
  Calculating upgrade... Done
  The following packages will be upgraded:
nscd
  1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  30 not fully installed or removed.
  Need to get 0B/136kB of archives.
  After unpacking 0B of additional disk space will be used.
  Do you want to continue [Y/n]?
  Reading package fields... Done
  Reading package status... Done
  Retrieving bug reports... Done
  Reading changelogs... Done
  (Reading database ... 164331 files and directories currently installed.)
  Preparing to replace nscd 2.3.6-7 (using 
  .../archives/nscd_2.3.6-9_i386.deb) ...
  Stopping Name Service Cache Daemon: nscd.
  invoke-rc.d: initscript nscd, action stop failed.
  dpkg: warning - old pre-removal script returned error exit status 1
  dpkg - trying script from the new package instead ...
  Stopping Name Service Cache Daemon: nscd.
  invoke-rc.d: initscript nscd, action stop failed.
  dpkg: error processing /var/cache/apt/archives/nscd_2.3.6-9_i386.deb 
  (--unpack):
   subprocess new pre-removal script returned error exit status 1
  Starting Name Service Cache Daemon: nscd.
  Errors were encountered while processing:
   /var/cache/apt/archives/nscd_2.3.6-9_i386.deb
  E: Sub-process /usr/bin/dpkg returned an error code (1)
 
 If the init script fails to stop the daemon, it is *correct* to fail the
 upgrade as well.  We should not leave old versions of daemons silently
 running after upgrade, this is a potential security hole.
 
 The real question here is why the init script is failing to stop nscd on
 your system.  This may or may not warrant an RC severity; probably not,
 since it hasn't been reported before now.
 

Sorry, but my point is another:

klecker:~$ pgrep start 
klecker:~$ pgrep nscd 
26316
klecker:~$ sudo /etc/init.d/nscd stop 
Stopping Name Service Cache Daemon: nscd.
klecker:~$ pgrep nscd
klecker:~$ sudo /etc/init.d/nscd stop
Stopping Name Service Cache Daemon: nscd.
klecker:~$ echo $?
1

This is incorrect. If the admin stops the daemon for his own reasons,
the upgrade fails as well. Incidentally I think the program has 
also some random issue with stopping (and eventually starting) the daemon (see
#362092 and others).

-- 
Francesco P. Lovergine


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



Bug#368587: invoke-rc.d: initscript nscd, action stop failed.

2006-05-23 Thread Steve Langasek
On Tue, May 23, 2006 at 10:22:03PM +0200, Francesco Paolo Lovergine wrote:

 Sorry, but my point is another:

 klecker:~$ pgrep start 
 klecker:~$ pgrep nscd 
 26316
 klecker:~$ sudo /etc/init.d/nscd stop 
 Stopping Name Service Cache Daemon: nscd.
 klecker:~$ pgrep nscd
 klecker:~$ sudo /etc/init.d/nscd stop
 Stopping Name Service Cache Daemon: nscd.
 klecker:~$ echo $?
 1

Ah -- that wasn't supported by the transcript you posted, which showed you
explicitly starting the nscd daemon prior to running the upgrade.

Yes, if nscd is not running, the /etc/init.d/nscd stop command must not
fail.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Bug#368587: invoke-rc.d: initscript nscd, action stop failed.

2006-05-23 Thread Francesco Paolo Lovergine
On Tue, May 23, 2006 at 02:05:25PM -0700, Steve Langasek wrote:
 On Tue, May 23, 2006 at 10:22:03PM +0200, Francesco Paolo Lovergine wrote:
 
  Sorry, but my point is another:
 
  klecker:~$ pgrep start 
  klecker:~$ pgrep nscd 
  26316
  klecker:~$ sudo /etc/init.d/nscd stop 
  Stopping Name Service Cache Daemon: nscd.
  klecker:~$ pgrep nscd
  klecker:~$ sudo /etc/init.d/nscd stop
  Stopping Name Service Cache Daemon: nscd.
  klecker:~$ echo $?
  1
 
 Ah -- that wasn't supported by the transcript you posted, which showed you
 explicitly starting the nscd daemon prior to running the upgrade.
 
 Yes, if nscd is not running, the /etc/init.d/nscd stop command must not
 fail.
 

Just for note, the failure in stopping nscd in the previous transcript should 
be due to a
persistent cache corruption, see #336310. The daemon dies on assert just after 
starting, or so...

-- 
Francesco P. Lovergine


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