Debian Bug report logs - #641957
Infinite loop in /usr/share/debconf/frontend because of unitialized value in WrapI18N.pm

version graph

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

Reported by: Eric Buchlin <[email protected]>

Date: Sun, 18 Sep 2011 08:18:52 UTC

Severity: normal

Found in version debconf/1.5.40

Fix blocked by 638950: libtext-wrapi18n-perl: Fail to upload from stable to testing: Use of uninitialized value $text in concatenation

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Sun, 18 Sep 2011 08:18:55 GMT) (full text, mbox, link).


Acknowledgement sent to Eric Buchlin <[email protected]>:
New Bug report received and forwarded. Copy sent to Debconf Developers <[email protected]>. (Sun, 18 Sep 2011 08:18:55 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Eric Buchlin <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Subject: Infinite loop in /usr/share/debconf/frontend because of unitialized value in WrapI18N.pm
Date: Sun, 18 Sep 2011 10:14:52 +0200
Package: debconf
Version: 1.5.40
Severity: normal


I tried to upgrade to testing just after a fresh install of squeeze (netinst, KDE):
I changed squeeze to testing in /etc/apt/sources.list, and made an update and upgrade 
within aptitude (interactive). During the installation of libc6,
/usr/share/debconf/frontend has an infinite loop (and takes 100% CPU), with messages

---
Use of uninitialized value $text in concatenation (.) or string at /usr/share/perl5/Text/WrapI18N.pm line 101, <GEN1> line 5.
substr outside of string at /usr/share/perl5/Text/WrapI18N.pm line 130, <GEN1> line 5.
---

The only way out is to kill frontend.

Then the same happens if I try with apt-get -f dist-upgrade (-f is needed
by apt-get, and the same happens with LANG=C).

As a result, the upgrade (here: of package libc6) cannot be done.
Messages after the kill are:

---
dpkg: error processing /var/cache/apt/archives/libc6_2.13-18_i386.deb (--unpack):
 subprocess new pre-installation script kill by signal (Terminated)
configured to not write apport reports
                                      Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.13-18_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
---



-- System Information:
Debian Release: 6.0.2
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages debconf depends on:
ii  perl-base                     5.12.4-4   minimal Perl system

Versions of packages debconf recommends:
ii  apt-utils              0.8.10.3+squeeze1 APT utility programs
ii  debconf-i18n           1.5.36.1          full internationalization support 

Versions of packages debconf suggests:
pn  debconf-doc            <none>            (no description available)
pn  debconf-utils          <none>            (no description available)
pn  libgtk2-perl           <none>            (no description available)
pn  libnet-ldap-perl       <none>            (no description available)
ii  libqtcore4-perl        4.5~~svn1145508-2 perl bindings for the Qt Core libr
ii  libqtgui4-perl         4.5~~svn1145508-2 perl bindings for the Qt Gui libra
pn  libterm-readline-gnu-p <none>            (no description available)
pn  perl                   <none>            (no description available)
ii  whiptail               0.52.11-1         Displays user-friendly dialog boxe

-- debconf information:
  debconf-apt-progress/preparing:
  debconf/frontend: Dialog
  debconf-apt-progress/title:
  debconf/priority: high
  debconf-apt-progress/info:
  debconf-apt-progress/media-change:




Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Sun, 18 Sep 2011 16:18:25 GMT) (full text, mbox, link).


Acknowledgement sent to Joey Hess <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Sun, 18 Sep 2011 16:18:25 GMT) (full text, mbox, link).


Message #10 received at [email protected] (full text, mbox, reply):

From: Joey Hess <[email protected]>
To: Eric Buchlin <[email protected]>, [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend because of unitialized value in WrapI18N.pm
Date: Sun, 18 Sep 2011 12:17:42 -0400
[Message part 1 (text/plain, inline)]
Eric Buchlin wrote:
> I tried to upgrade to testing just after a fresh install of squeeze (netinst, KDE):
> I changed squeeze to testing in /etc/apt/sources.list, and made an update and upgrade 
> within aptitude (interactive). During the installation of libc6,
> /usr/share/debconf/frontend has an infinite loop (and takes 100% CPU), with messages
> 
> ---
> Use of uninitialized value $text in concatenation (.) or string at /usr/share/perl5/Text/WrapI18N.pm line 101, <GEN1> line 5.
> substr outside of string at /usr/share/perl5/Text/WrapI18N.pm line 130, <GEN1> line 5.
> ---

> Then the same happens if I try with apt-get -f dist-upgrade (-f is needed
> by apt-get, and the same happens with LANG=C).

Seems that you can reproduce the bug on demand. So can you please try
the following:

1. Install the attached Encoding.pm file as /usr/share/perl5/DebConf/Encoding.pm
   (This instruments the calls to WrapI18N so we can see what text is
   making it fail.)
2. Run the `script` command to take a typescript.
3. Run apt-get again to reproduce the problem.
4. Reply with the typescript.

-- 
see shy jo
[Encoding.pm (text/x-perl, attachment)]
[signature.asc (application/pgp-signature, inline)]

Added blocking bug(s) of 641957: 638950 Request was from Joey Hess <[email protected]> to [email protected]. (Sun, 18 Sep 2011 16:21:32 GMT) (full text, mbox, link).


Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Sun, 18 Sep 2011 16:51:25 GMT) (full text, mbox, link).


Acknowledgement sent to Joey Hess <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Sun, 18 Sep 2011 16:51:25 GMT) (full text, mbox, link).


Message #17 received at [email protected] (full text, mbox, reply):

From: Joey Hess <[email protected]>
To: Eric Buchlin <[email protected]>, [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend because of unitialized value in WrapI18N.pm
Date: Sun, 18 Sep 2011 12:47:59 -0400
[Message part 1 (text/plain, inline)]
Also, since I can't reproduce this with an upgrade of a squeeze system
here, and it's apparently caused by a very specific combination of
versions of packages in the middle of an upgrade, it would be very
useful if you could send me a complete list of the versions of
packages installed on your system. 
	dpkg -l > list

(Private email is ok if you don't want that information published.)

-- 
see shy jo
[signature.asc (application/pgp-signature, inline)]

Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Mon, 19 Sep 2011 09:19:59 GMT) (full text, mbox, link).


Acknowledgement sent to Eric Buchlin <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Mon, 19 Sep 2011 09:19:59 GMT) (full text, mbox, link).


Message #22 received at [email protected] (full text, mbox, reply):

From: Eric Buchlin <[email protected]>
To: Joey Hess <[email protected]>
Cc: [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend because of unitialized value in WrapI18N.pm
Date: Mon, 19 Sep 2011 10:39:58 +0200
Joey Hess <[email protected]> a écrit :
> Also, since I can't reproduce this with an upgrade of a squeeze system
> here, and it's apparently caused by a very specific combination of
> versions of packages in the middle of an upgrade, it would be very
> useful if you could send me a complete list of the versions of
> packages installed on your system.
> 	dpkg -l > list

Hello,

Thanks for the reply, but now I have restarted the install of squeeze  
from scratch, using the minimal installation, and I tried to do things  
more properly, or at least I hope so (apt-get upgrade before  
dist-upgrade). Then the problem did not appear, but this could be due  
to either change (using the minimal install of squeeze, or doing an  
apt-get upgrade first). Now I have a working installation of testing,  
and this is my main work computer, so I can't go back and try to  
reproduce the problem, sorry (I can only retry later on another  
computer). However, even if I didn't do things properly first, it  
still looks like a bug, and other people already had the problem, like:
http://www.facepunch.com/threads/1116926
(not much detail there, but same messages in same circumstances)

Best regards,

-- 
Eric


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.





Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Tue, 20 Sep 2011 01:24:02 GMT) (full text, mbox, link).


Acknowledgement sent to Bernhard Schmidt <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Tue, 20 Sep 2011 01:24:03 GMT) (full text, mbox, link).


Message #27 received at [email protected] (full text, mbox, reply):

From: Bernhard Schmidt <[email protected]>
To: Joey Hess <[email protected]>
Cc: [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend
Date: Tue, 20 Sep 2011 03:12:02 +0200
[Message part 1 (text/plain, inline)]
Hi,

I just experienced the same problem. Attached my typescript (with the 
updated module from this bug) and the package list. I'm testing 
upgrading Torrus to wheezy in a VM, thus the two unauthenticated 
packages on my own server.

It's a plain minimum Squeeze i386 installation in KVM, then installed 
torrus-apache2 (which installs quite a lot of packages, including 
apache2 and mod_perl2), then dist-upgrade to wheezy.

Not sure whether the VM will boot tomorrow, I hope the attached 
information helps.

Bernhard
[typescript.gz (application/x-gzip, attachment)]
[list (text/plain, attachment)]

Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Tue, 20 Sep 2011 19:09:08 GMT) (full text, mbox, link).


Acknowledgement sent to Joey Hess <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Tue, 20 Sep 2011 19:09:08 GMT) (full text, mbox, link).


Message #32 received at [email protected] (full text, mbox, reply):

From: Joey Hess <[email protected]>
To: Bernhard Schmidt <[email protected]>
Cc: [email protected], [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend
Date: Tue, 20 Sep 2011 15:07:20 -0400
[Message part 1 (text/plain, inline)]
Note that those who experience this situation can get out by
pressing ctrl-c, and then run something like:

apt-get -o Immediate-Configure=false -f install

Bernhard Schmidt wrote:
> I just experienced the same problem. Attached my typescript (with
> the updated module from this bug) and the package list. I'm testing
> upgrading Torrus to wheezy in a VM, thus the two unauthenticated
> packages on my own server.
> 
> It's a plain minimum Squeeze i386 installation in KVM, then
> installed torrus-apache2 (which installs quite a lot of packages,
> including apache2 and mod_perl2), then dist-upgrade to wheezy.
> 
> Not sure whether the VM will boot tomorrow, I hope the attached
> information helps.

Thanks, I was able to reproduce it too. I pressed ctrl-z just after
libc6 was upgraded (around where it would ask about upgrading with
debconf when not in a chroot), and running debconf reproduces the loop. 

Confirmed that mblen is busted. 

At this point, perl is half-configured; libtext-charwidth-perl is
still at the version from stable. After these two get upgraded,
the problem goes away. (libtext-wrapi18n-perl currently has the same version
in both suites so I don't know if apt would have partially upgraded it
to a newer version at this point. And debconf is still at the version
from stable.)

So apt breaks the old version of libtext-charwidth-perl's dependency on
the old version of perl, to resolve the upgrade. Then debconf-i18n tries
to use the module indirectly and it blows up. Note that debconf-i18n is
a Required package, and depends on libtext-charwidth-perl, so apt is
going to extreme lengths to break the cycle.

It would be possible to have debconf test for mblen being broken and
avoid doing multibyte aware word wrapping.. except debconf does not
get upgraded in time! Indeed, it's hard to see where to put a fix for
this at all, since only perl is (partially) upgraded yet.

-- 
see shy jo
[signature.asc (application/pgp-signature, inline)]

Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Tue, 20 Sep 2011 19:21:08 GMT) (full text, mbox, link).


Acknowledgement sent to Joey Hess <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Tue, 20 Sep 2011 19:21:08 GMT) (full text, mbox, link).


Message #37 received at [email protected] (full text, mbox, reply):

From: Joey Hess <[email protected]>
To: Bernhard Schmidt <[email protected]>
Cc: [email protected], [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend
Date: Tue, 20 Sep 2011 15:20:25 -0400
[Message part 1 (text/plain, inline)]
This seems to be caused by #640300, so once a libc6 2.13-19 that no longer
declares a Breaks on perl reaches testing, I *think* this will no longer
be a problem.

-- 
see shy jo
[signature.asc (application/pgp-signature, inline)]

Information forwarded to [email protected], Debconf Developers <[email protected]>:
Bug#641957; Package debconf. (Wed, 21 Sep 2011 21:19:00 GMT) (full text, mbox, link).


Acknowledgement sent to Bernhard Schmidt <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debconf Developers <[email protected]>. (Wed, 21 Sep 2011 21:19:50 GMT) (full text, mbox, link).


Message #42 received at [email protected] (full text, mbox, reply):

From: Bernhard Schmidt <[email protected]>
To: Joey Hess <[email protected]>
Cc: [email protected], [email protected]
Subject: Re: Bug#641957: Infinite loop in /usr/share/debconf/frontend
Date: Wed, 21 Sep 2011 23:10:32 +0200
On 20.09.2011 21:07, Joey Hess wrote:
> Note that those who experience this situation can get out by
> pressing ctrl-c, and then run something like:
>
> apt-get -o Immediate-Configure=false -f install

Doesn't work here.

root@torrustest:~# apt-get -o Immediate-Configure=false -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
  libdb4.7
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libberkeleydb-perl libc6-i686 libcrypt-des-perl libdb5.1 
libdigest-sha1-perl libfont-freetype-perl liblocale-gettext-perl 
libtext-charwidth-perl
  libtext-iconv-perl libxml-libxml-perl libxml-parser-perl 
multiarch-support
The following NEW packages will be installed:
  libdb5.1 multiarch-support
The following packages will be upgraded:
  libberkeleydb-perl libc6-i686 libcrypt-des-perl libdigest-sha1-perl 
libfont-freetype-perl liblocale-gettext-perl libtext-charwidth-perl 
libtext-iconv-perl
  libxml-libxml-perl libxml-parser-perl
10 upgraded, 2 newly installed, 0 to remove and 210 not upgraded.
14 not fully installed or removed.
Need to get 0 B/3,226 kB of archives.
After this operation, 2,269 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Could not perform immediate configuration on already unpacked 'perl'. 
Please see man 5 apt.conf under APT::Immediate-Configure for details.

Bernhard




Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Fri May 16 09:31:17 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.