[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#401876: Dictionaries-common sometimes prompts users during d-i



reassign 401876 debconf
retitle 401876 dpkg-preconfigue: fails when run from tasksel in g-i
thanks

On Tuesday 12 December 2006 22:22, Frans Pop wrote:
> The cause is that when tasksel is run within g-i, two basic package
> management steps are never executed:
> - extracting templates from packages
> - preconfiguring packages

After spending most of the afternoon stracing and perl-tracing this
sucker, I think I've traced the root cause of this issue to lines 45/46 in
dpkg-preconfigure:
   open (STDIN, "/dev/tty") ||
       (print STDERR sprintf("dpkg-preconfigure: ".gettext("unable to re-open stdin: %s"), $!)."\n", exit 0);

This is just after that command has read the packages to be preconfigured
from STDIN.

strace shows:
09:13:46 read(0, "/var/cache/apt/archives/popularity-contest_1.39_all.deb\n", 4096) = 56
09:13:46 read(0, "", 4096)              = 0
09:13:46 open("/dev/tty", O_RDONLY|O_LARGEFILE) = -1 ENXIO (No such device or address)

And a trace of perl execution shows:
in  $=Locale::gettext::gettext('unable to re-open stdin: %s') from /usr/sbin/dpkg-preconfigure:45
out $=Locale::gettext::gettext('unable to re-open stdin: %s') from /usr/sbin/dpkg-preconfigure:45

After removing the error check, the task installation runs normally with
templates getting extracted and packages preconfigured.

Note that for some reason that error message never makes it to the syslog!
This is one of the reasons that tracing this issue has taken so long.

Attachment: pgpSWvoVQWKfK.pgp
Description: PGP signature


Reply to: