On Wed, Aug 04, 2010 at 12:36:00AM +0100, Ben Hutchings wrote:
> On Wed, 2010-08-04 at 00:13 +0100, Colin Watson wrote:
> > On Mon, Jul 26, 2010 at 03:43:47AM +0100, Ben Hutchings wrote:
> > > This seems to be a race condition in debconf, not a bug in the postinst
> > > script (which doesn't do anything very interesting).  I was able to
> > > reproduce it only once.  The debconf frontend was blocked on read while
> > > the postinst script had exited and was a zombie.
> > > 
> > > (I don't really understand this behaviour as read on a pipe should
> > > return as soon as the process at the other end of the pipe exits.  So it
> > > could even be a bug in the kernel, though that seems unlikely.)
> > 
> > I doubt that this is the problem.  What's happening is that
> > pawserv.postinst calls update-inetd, which in some circumstances can
> > restart inetd.  Thus inetd is left holding the debconf pipe open and
> > debconf never realises that the postinst has exited.
> 
> That makes sense.
> 
> > The simple fix should be to put 3>&- at the end of each of the
> > update-inetd invocations, so that update-inetd is always disconnected
> > from debconf.
> 
> This seems like a bug in update-inetd which should not have to be
> worked-around in every maintainer script.

I see your point, although I think I could make a reasonably convincing
argument either way.  The opposing position is that it's the postinst
script that's using debconf, not update-inetd, and therefore the
postinst should clean up after itself by not passing the extra open fd
on to update-inetd.

(DebianNet.pm uses debconf, but it uses the Perl bindings, which don't
open fd 3 - that hack is specific to the shell confmodule.)

-- 
Colin Watson                                       [cjwat...@debian.org]



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to