Debian Bug report logs - #439763
debconf: hangs on puppet installs on preseed install

version graph

Package: debconf; Maintainer for debconf is Debconf Developers <[email protected]>; Source for debconf is src:debconf (PTS, buildd, popcon).

Reported by: [email protected] (Adrian Bridgett)

Date: Mon, 27 Aug 2007 08:48:02 UTC

Severity: normal

Found in version debconf/1.5.14

Full log


🔗 View this message in rfc822 format

X-Loop: [email protected]
Subject: Bug#439763: [Debconf-devel] Bug#439763: debconf: hangs on puppet installs on preseed install
Reply-To: Colin Watson <[email protected]>, [email protected]
Resent-From: Colin Watson <[email protected]>
Resent-To: [email protected]
Resent-CC: Debconf Developers <[email protected]>
Resent-Date: Tue, 18 Dec 2007 17:18:01 +0000
Resent-Message-ID: <[email protected]>
Resent-Sender: [email protected]
X-Debian-PR-Message: report 439763
X-Debian-PR-Package: debconf
X-Debian-PR-Keywords: 
X-Debian-PR-Source: debconf
Received: via spool by [email protected] id=B439763.119799816515733
          (code B ref 439763); Tue, 18 Dec 2007 17:18:01 +0000
Received: (at 439763) by bugs.debian.org; 18 Dec 2007 17:16:05 +0000
X-Spam-Checker-Version: SpamAssassin 3.1.4-bugs.debian.org_2005_01_02 
	(2006-07-26) on rietz.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-7.3 required=4.0 tests=BAYES_00,FORGED_RCVD_HELO,
	FROMDEVELOPER,HAS_BUG_NUMBER,MONEY,MURPHY_DRUGS_REL8 autolearn=no 
	version=3.1.4-bugs.debian.org_2005_01_02
Received: from heisenberg.zen.co.uk ([212.23.3.141])
	by rietz.debian.org with esmtp (Exim 4.63)
	(envelope-from <[email protected]>)
	id 1J4g33-00045W-AK
	for [email protected]; Tue, 18 Dec 2007 17:16:05 +0000
Received: from [82.69.40.219] (helo=riva.pelham.vpn.ucam.org)
	by heisenberg.zen.co.uk with esmtp (Exim 4.50)
	id 1J4g31-0004Vx-9k; Tue, 18 Dec 2007 17:16:03 +0000
Received: from cjwatson by riva.pelham.vpn.ucam.org with local (Exim 3.36 #1 (Debian))
	id 1J4g31-0005gE-00; Tue, 18 Dec 2007 17:16:03 +0000
Date: Tue, 18 Dec 2007 17:16:03 +0000
From: Colin Watson <[email protected]>
To: Adrian Bridgett <[email protected]>, [email protected]
Message-ID: <[email protected]>
References: <[email protected]>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="UugvWAfsgieZRqgk"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <[email protected]>
User-Agent: Mutt/1.5.13 (2006-08-11)
X-Originating-Heisenberg-IP: [82.69.40.219]
[Message part 1 (text/plain, inline)]
[Sorry for the delay in replying to this.]

On Mon, Aug 27, 2007 at 10:42:41AM +0100, Adrian Bridgett wrote:
> (Mostly cloned from #425397 at the request of Joey Hess.  I've been
> running puppet in the d-i/late-command part of the install to get these
> problems, if it helps I'll try and trim it down (I suspect a preseeded
> postfix install might be sufficient))
> 
> I'm using puppet at the end of a preseeded install and some packages
> keep hanging (sysstat and postfix namely).  I suspect it's the
> preseeding that's causing the problem.  
> 
> What I see is dpkg-preconfigure running /tmp/postfix.config.12345
> (sometimes with a zombie'd process in the middle).  dpkg-preconfigure
> is reading from FD8 (which is FD1 from the postfix.config),  the
> postfix-config in turn is reading from FD0 (which is FD7 from the
> dpkg-preconfigure).  Deadlock ensues :-(

I'm not entirely sure that this is the same thing (I'd probably need to
peruse a full strace -f -s 4096 or so to be sure), but I wonder if this
might be related to
https://bugs.launchpad.net/ubuntu/+source/tasksel/+bug/141601, which
Søren Hansen tracked down to a debconf-apt-progress bug recently. Could
you possibly try r2249 from debconf's Subversion repository? I've
attached the patch for your convenience.

postfix spawns a daemon from its postinst but I don't think sysstat does
(however, it does do other weird stuff from its postinst). Thus, it
would be particularly interesting if this patch fixed one but not the
other.

> When postfix.config runs /usr/share/debconf/confmodules, at line 45 it
> complains that FD3 is a bad file descriptor.  Listing /proc/$$/fd
> shows that FD3 doesn't exist.  FD2 points to the overall stderr, FD1
> is a pipe back to FD8 of dpkg-preconfigure.  FD0 is FD7 from
> dpkg-preconfigure.
> 
> FD3 exists and DEBCONF_REDIR is set when ConfModule::startup() is
> called, however it looks like FD3 does not persist into the open2()
> call.

On the other hand, it might be something completely different. I note
that both sysstat and postfix call db_stop. I don't think this should
actually break the cdebconf instance way down at the bottom of the
stack, but it's possible that it will confuse the debconf running
debconf-apt-progress. If you could run the whole install under
DEBCONF_DEBUG=developer (you did something like this earlier), then this
might shed some light on exactly which debconf frontend is seeing what
commands.

> As a gross hack workaround (which might break god knows what else)
> I've edited /usr/share/debconf/confmodule to unset DEBCONF_REDIR if
> /proc/$$/fd/3 does not exist.

I'm, er, not exactly sure what that will do. :-) I think I'd rather
figure out the underlying problem. It may be that we need to ignore
db_stop in some circumstances.

Cheers,

-- 
Colin Watson                                       [[email protected]]
[debconf.2249.patch (text/x-diff, attachment)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Fri May 16 18:20:14 2025; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.