[Debconf-devel] Bug#601763: debconf: Debconf::ConfModule::communicate hangs on $_=<$r> || return $this->finish

v.nix.is debian-bug at v.nix.is
Fri Oct 29 11:18:23 UTC 2010


Package: debconf
Version: 1.5.36
Severity: important


Note: The bug isn't being filed on the machine that has this issue,
but they have the same debconf version.

A dpkg --configure -a invocation of mine hung after I had a rude
shutdown of a system. When I traced it it turned out that debconf was
hanging.

Specifically dpkg would call:

    /bin/sh -x -e /var/lib/dpkg/info/man-db.postinst triggered /usr/share/man

Which would call:

    PERL_DL_NONLAZY=1 && export PERL_DL_NONLAZY
    /usr/share/debconf/frontend /var/lib/dpkg/info/man-db.postinst triggered /usr/share/man

Which when I ran it under the perl debugger hung on:

    Debconf::Log::debug(/usr/share/perl5/Debconf/Log.pm:23):
    23:             if ($log && $type =~ /$log/) {
    Debconf::ConfModule::process_command(/usr/share/perl5/Debconf/ConfModule.pm:134):
    134:            if ($ret=~/\n/) {
    Debconf::ConfModule::process_command(/usr/share/perl5/Debconf/ConfModule.pm:139):
    139:            return $ret;
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:75):
    75:             my $w=$this->write_handle;
    Debconf::ConfModule::CODE(0xa0fb678)(/usr/share/perl5/Debconf/ConfModule.pm:648):
    648:                    my $this=shift;
    Debconf::ConfModule::CODE(0xa0fb678)(/usr/share/perl5/Debconf/ConfModule.pm:650):
    650:                    return $this->{$field} unless @_;
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:76):
    76:             print $w $ret."\n";
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:77):
    77:             return '' unless length $ret;
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:78):
    78:             return 1;
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:69):
    69:             my $this=shift;
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:71):
    71:             my $r=$this->read_handle;
    Debconf::ConfModule::CODE(0xa0fb598)(/usr/share/perl5/Debconf/ConfModule.pm:648):
    648:                    my $this=shift;
    Debconf::ConfModule::CODE(0xa0fb598)(/usr/share/perl5/Debconf/ConfModule.pm:650):
    650:                    return $this->{$field} unless @_;
    Debconf::ConfModule::communicate(/usr/share/perl5/Debconf/ConfModule.pm:72):
    72:             $_=<$r> || return $this->finish;

Looks like something that could be solved by having ->read_handle
return a non-blocking handle, but I haven't looked.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable'), (700, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.36-rc6-Avar-Akbar+ (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages debconf depends on:
ii  debconf-i18n                  1.5.36     full internationalization support 
ii  perl-base                     5.10.1-15  minimal Perl system

Versions of packages debconf recommends:
ii  apt-utils                     0.8.6      APT utility programs

Versions of packages debconf suggests:
ii  debconf-doc                   1.5.36     debconf documentation
pn  debconf-utils                 <none>     (no description available)
pn  libgnome2-perl                <none>     (no description available)
pn  libnet-ldap-perl              <none>     (no description available)
pn  libqtcore4-perl               <none>     (no description available)
pn  libqtgui4-perl                <none>     (no description available)
pn  libterm-readline-gnu-perl     <none>     (no description available)
ii  perl                          5.10.1-15  Larry Wall's Practical Extraction 
ii  whiptail                      0.52.11-1  Displays user-friendly dialog boxe

-- debconf information excluded





More information about the Debconf-devel mailing list