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

Bug#751169: libc6: Segmentation fault during libc upgrade, leaving system very unstable



Hi,

On 10/06/14 05:50 PM, Aurelien Jarno wrote:
Hi,

On Tue, Jun 10, 2014 at 04:49:34PM -0400, Christian Weeks wrote:
Package: libc6
Severity: important

Dear Maintainer,

Whenever I upgrade either elibc or gcc, my system enters a state where
almost all software segmentation faults, including the upgrade itself.
This happens repeatably on any upgrade of either of those packages,
and has done for some time. I finally managed to capture a trace of
the upgrade in progress which is why I am filing this report now.

I have attached the output of both the upgrade output and my subsequent
repair. There are 3 phases: the original upgrade, the first pass at
repair (using dpkg), and finally the second pass at repair, which is
exactly the same command as the first pass, but works completely.

If I run dpkg -i with the list of packages seen (libc6:amd64,
libc6:i386,libgcc:amd64,libgcc:i386) then the system becomes usable
again. In this case, and very often when I do this repair, I have
to run it twice to actually get the "repair" to stick.

It appears the problem is when libc is deconfigured for upgrade. libgcc
stops functioning (it depends on libc, obviously) and the segmentation
fault means dpkg is unable to recover (I guess one of the configure
scripts is failing).
The segmentation fault is likely due to some incompatible libc
version being mixed, one being the unpacked version, one being on the
filesystem at a different location.

I suspect the problem is somehow related to multi-arch, since it seems
that multiarch is causing one side to deconfigure, breaking that side
and then creating a dependency conflict situation.
Indeed, we also suspect it is related to that.

I am only filing this as important because obviously it breaks my system
but it is recoverable. The non-existence of others reporting this makes
me wonder if there isn't something weird, however, I have two machines
and both exhibit the same symptoms.
We already have one bug similar to yours (#741031) although it concerns
the previous upgrade from 2.17 to 2.18. Unfortunately we are not able to
understand the bug, as we have not been able to get a status of the
system *before* any repair action is taken.

Do you by chance still have a system in the broken state? If so, could
you please send us the output of:

dpkg -l "libc*"
ls -l /lib /lib32 /lib64 /lib/i386-linux-gnu/ /lib/x86_64-linux-gnu/

Sadly, I don't have a broken state right now.

I just tried on another machine, as jessie just got libc6 2.19 - however
this issue did not occur there, and I noticed that libgcc did not
update in jessie simultaneously. I wonder if you have to update
both at once to cause the problem to occur. I've only noticed
it when libgcc and libc have simultaneously updated previously,
though this could be selective memory on my part.

Next time gcc and libc update simultaneously, I'll capture pre-break
and post-break state for your perusal, before fixing it.


Reply to: