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

Bug#740068: debian-installer: segfaults when built against testing


Cyril Brulebois <kibi@debian.org> (2014-02-25):
> Aurelien Jarno <aurelien@aurel32.net> (2014-02-25):
> > Yes, we get this bug happening regularly because the binaries on the
> > image went through the library reduction process with a given libc (here
> > 2.18), and later a different version of the libc is unpacked over it
> > (here 2.17). Therefore some symbols are missings, causing the segfault.
> > In addition I think there are also some version mismatches between libnss-*
> > and libc6 when the old one is getting unpacked.
> alright, thanks.

Fastforward a few years, we now have libnss-dns-udeb and libnss-files-udeb
merged into libc6-udeb; additionally, we're no longer reducing libraries,
since we switched to mklibs-copy. Relevant commits in debian-installer.git:
| commit 83a73f6400ea8dd6fdedafe64e32e16c7c0e213a
| Author: Aurelien Jarno <aurelien@aurel32.net>
| Date:   Wed May 13 16:13:27 2015 +0200
|     Use mklibs-copy instead of mklibs, as discussed on the mailing list.

| commit 283e7a294275a7da53258600deaaafbbec6b96c1
| Author: Aurelien Jarno <aurelien@aurel32.net>
| Date:   Wed Mar 30 08:01:26 2016 +0000
|     Stop excluding libc{0.1,0.3,6,6.1} as we now use mklibs-copy for the reduction pass. This avoids dropping libnss libraries and also avoids a useless download of this udeb during the installation.

But trying to install stretch as of today, using Stretch Alpha 7 through
PXE results in an error while trying to install libc6-udeb at the partman

Logs say:
| anna-install: Installing partman-auto-lvm
| anna[PID]: DEBUG: retrieving libc6-udeb 2.23-4

and d-i/debconf says that libc6-udeb couldn't be installed for unknown

initrd has a 2.22-11 libc6-udeb installed (/var/lib/dpkg/status), and it
seems there are no udebs depending on a >= 2.23 libc6-udeb; so libc6-udeb
getting (re)installed at this stage is rather strange in the first place;
I'm not sure whether glibc is supposed to support this upgrade anyway,
Aurélien mentioned it might possibly be due to udpkg's not unpacking
atomically. End result: everything segfaults past this point.

I've reproduced this using:

Some comments:
 - this will likely disappear when we release a new d-i;
 - but it would be nice to figure out why libc6-udeb is pulled while it's
   already installed; this might affect other components, so it'd be
   better to figure out why and fix that now.
 - maybe glibc/udpkg/… could use some improvements to be more reliable
   when that happens anyway.


Attachment: signature.asc
Description: Digital signature

Reply to: