Bug#739734: libc6:amd64: libc6 segfault after upgrading to 2.18-1
On Sat, Feb 22, 2014 at 11:19:37AM +0100, Freesurf.ch wrote:
> Package: libc6
> Version: 2.18-1
> Severity: grave
> Justification: breaks the whole system
>
> Dear Maintainer
>
> Immediatly after upgradeing the libc6 from 2.17-97 to 2.18 all
> applications begun to segfault.
>
> I tried to reboot the system.
>
>
> Loading, please wait...
> Scanning for Btrfs fileystems
> [ 2.065797] init[1]: segfault at 1 ip 00007f1451f03cec sp
> 00007fffea43e4d0 error 4 in libc-2.18.so[7f1451de8000+1a0000]
> [ 2.065868] Kernel panic - not syncing: Attempted to kill init!
> exitcode=0x0000000b
> [ 2.065868]
> [ 2.065891] CPU: 0 PID: 1 Comm: init Not tainted 3.12-1-amd64 #1
> Debian 3.12.9-1
> [ 2.065908] Hardware name: ASUS All Series/Q87M-E, BIOS 0906 11/28/2013
> [ 2.065924] ffff88081bd2fd28 ffffffff8148be76 ffffffff816f7448
> ffffffff81488ea8
> [ 2.065945] 0000000000000010 ffff88081bd2fd38 ffff88081bd2fcd8
> ffffffff81102832
> [ 2.065966] 000000000000000b ffff88081bd21aa0 0000000000000069
> ffffffff819eabc0
> [ 2.065987] Call Trace:
> [ 2.065998] [<ffffffff8148be76>] ? dump_stack+0x41/0x51
> [ 2.066011] [<ffffffff81488ea8>] ? panic+0xc3/0x1d2
> [ 2.066024] [<ffffffff81102832>] ? task_function_call+0x42/0x50
> [ 2.066040] [<ffffffff8105df41>] ? do_exit+0x931/0xa50
> [ 2.066053] [<ffffffff8105e0c4>] ? do_group_exit+0x34/0xa0
> [ 2.066068] [<ffffffff8106c058>] ? get_signal_to_deliver+0x1c8/0x5b0
> [ 2.066085] [<ffffffff8101235d>] ? do_signal+0x3d/0x5b0
> [ 2.066100] [<ffffffff8149501e>] ? __do_page_fault+0x48e/0x500
> [ 2.066115] [<ffffffff8112ccab>] ? vm_mmap_pgoff+0x9b/0xc0
> [ 2.066129] [<ffffffff81012938>] ? do_notify_resume+0x68/0x90
> [ 2.066144] [<ffffffff81491a3c>] ? retint_signal+0x48/0x8c
>
> The system does not start again.
The problem likely happens because you have libc6-amd64:i386 installed
on your amd64 system, in addition to the system one libc6:amd64 one. This
doesn't bring anything to your system (except bugs like this), but the
multiarch specification doesn't provide a way to prevent such a package to
be installed.
In your case, the problem is that ldconfig changes the
/lib64/ld-linux-x86-64.so.2 to point to the libc6-amd64:i386 version,
so the wrong libc is used on your system. When you upgrade, you start
to have a mix of both libc, hence the issue. We are currently working on
a solution that allow libc6-amd64:i386 to be installed without breaking
the system.
For already broken systems like yours, here is a procedure to fix it. On
a rescue system, change to the root directory of the system to be fixed.
- make sure ldconfig won't be run anymore:
ln -sf /bin/true lib/ldconfig
- point the symlink to the correct libc version:
ln -sf /lib/x86_64-linux-gnu/libdl-2.18.so lib64/ld-linux-x86-64.so.2
note that the version 2.18 might have to be adjusted depending on the
libc currently installed on your system
Then reboot on the system and run the following commands:
- remove libc6-amd64:
apt-get remove libc6-amd64
- reinstall and/or upgrade at least libc6 and libc-bin:
apt-get --reinstall libc6 libc-bin
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Reply to: