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

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: