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

Bug#383976: unable to upgrade package libc6



On Tue, Aug 22, 2006 at 08:54:41AM +0200, knight@kopernet.org wrote:
> Dnia 21-08-2006, pon o godzinie 17:06 +0200, Aurelien Jarno napisał(a):
> > Hi,
> >
> > On Mon, Aug 21, 2006 at 10:15:10AM +0200, Tomasz Cichecki wrote:
> > > Package: libc6
> > > Version: 2.3.6-19
> > > Severity: grave
> > > Justification: renders package unusable
> > >
> > > I cannot upgrade from libc6_2.3.6-19 to libc6_2.3.6.ds1-2
> > > Below screen dump:
> > > knight@workingrock:/usr/share/doc/libc6$ export LC_ALL=C
> > > knight@workingrock:/usr/share/doc/libc6$ sudo apt-get install libc6
> > > Reading package lists... Done
> > > Building dependency tree... Done
> > > Suggested packages:
> > >   glibc-doc
> > >   The following packages will be upgraded:
> > >     libc6
> > >     1 upgraded, 0 newly installed, 0 to remove and 93 not upgraded.
> > >     1 not fully installed or removed.
> > >     Need to get 0B/4696kB of archives.
> > >     After unpacking 0B of additional disk space will be used.
> > >     (Reading database ... 175620 files and directories currently
> > >     installed.)
> > >     Preparing to replace libc6 2.3.6-19 (using
> > >     .../libc6_2.3.6.ds1-2_i386.deb) ...
> > >     Unpacking replacement libc6 ...
> > >     dpkg: error processing
> > >     /var/cache/apt/archives/libc6_2.3.6.ds1-2_i386.deb (--unpack):
> > >      dpkg: warning - old post-removal script killed by signal
> > >      (Segmentation fault)
> > >
> > >    dpkg: error while cleaning up:
> > >     subprocess pre-installation script killed by signal (Segmentation
> > >     fault)
> > >    Errors were encountered while processing:
> > >      /var/cache/apt/archives/libc6_2.3.6.ds1-2_i386.deb
> > >    E: Sub-process /usr/bin/dpkg returned an error code (1)
> >
> > I am unable to reproduce this problem on my machine, so we will have to
> > debug it on our system.
> >
> 
> > First of all, is your system ok? Random segfaults could come for a
> > kernel that started to oops. You can have a look to the output of
> > "dmesg".
> No, dmesg is clean like a pearl. Below screen dump:
> (...)
> > Finally it would be nice if you acn send me the output of "ldd
> > /bin/bash", so that we can see which version of the libc are you using
> > (linuxthreads, nptl, nptl i686 or xen).
> >
> Wow!!!Forget the dmesg! Can you guess what the problem was!?!??
> Some time ago I installed a wrapper lib for alsa to run oss apps on alsa
> instead of using the kernel compat layer.
> I guess the alsa-oss package need to be recompiled against the new libc6
> I had that libalsatoss.so.0 library preloaded:
> knight@workingrock:~$ cat /etc/ld.so.preload
> /usr/lib/libaoss.so
> 
> After commenting it out and running ldconfig the problem disappeared.
> Below output from ldd /bin/bash from before and after the action:
> 
> Before:
> knight@workingrock:~$ ldd /bin/bash
>         /usr/lib/libaoss.so (0xa7f18000)
>         linux-gate.so.1 =>  (0xffffe000)
>         libncurses.so.5 => /lib/libncurses.so.5 (0xa7ebe000)
>         libdl.so.2 => /lib/libdl.so.2 (0xa7eba000)
>         libc.so.6 => /lib/libc.so.6 (0xa7d9f000)
>         libalsatoss.so.0 => /usr/lib/libalsatoss.so.0 (0xa7d96000)
>         /lib/ld-linux.so.2 (0xa7f1f000)
>         libasound.so.2 => /usr/lib/libasound.so.2 (0xa7cd4000)
>         libm.so.6 => /lib/libm.so.6 (0xa7cb0000)
>         libpthread.so.0 => /lib/libpthread.so.0 (0xa7c5d000)
> 
> After:
> knight@workingrock:~$ ldd /bin/bash
>         linux-gate.so.1 =>  (0xffffe000)
>         libncurses.so.5 => /lib/libncurses.so.5 (0xa7eb1000)
>         libdl.so.2 => /lib/libdl.so.2 (0xa7eac000)
>         libc.so.6 => /lib/libc.so.6 (0xa7d91000)
>         /lib/ld-linux.so.2 (0xa7f0b000)
> knight@workingrock:~$ sudo dpkg -i Desktop/libc6_2.3.6.ds1-2_i386.deb
> (Reading database ... 175620 files and directories currently installed.)
> Preparing to replace libc6 2.3.6-19
> (using .../libc6_2.3.6.ds1-2_i386.deb) ...
> Unpacking replacement libc6 ...
> Setting up libc6 (2.3.6.ds1-2) ...
> 
> :)
> 
> Thanx very much for helping me to debug the problem. Knowing the above
> you can look into it more approperly and perhaps fill-in another bug
> against libaoss
> 

I now have a more precise idea of the problem. The following command
produce a segfault:

LD_ASSUME_KERNEL=2.4.1 LD_PRELOAD=/usr/lib/libaoss.so /bin/bash -x /bin/egrep

where /bin/grep contains:

#!/bin/sh
exec grep -E ${1+"$@"}

Note that without LD_ASSUME_KERNEL=2.4.1 (ie using nptl instead of
linuxthreads) or using dash instead of bash, the problem goes out.

gdb returns nothing, so I don't really know where is the problem and how
to debug it.

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



Reply to: