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

Bug#630608: [bash] Everything Segfaults After lib6 -7 Upgrade



On Sunday 17 Sivan 5771 02:22:46 Jonathan Nieder wrote:

> Hi David,

>

> David Baron wrote:

> (out of order for convenience)

>

> > Note that there is no "root." I have a working /lib with (mostly) testing

> > libc6 et al packages and lib-sid which has the -7 installed.

> >

> > So I ran with no "$root" and listed that /lib-sid

>

> Could you say a little more about this setup? E.g., how do you

> arrange for /lib-sid to be used? Is it on a separate partition? How

> do upgrades work?

>

> [...]

>

> > drwxr-xr-x 3 root root 4096 2011-06-15 16:28 i686

> > -rwxr-xr-x 1 root root 117960 2011-06-13 03:21 ld-2.13.so

> > lrwxrwxrwx 1 root root 10 2011-06-13 03:21 ld-linux.so.2 ->

> > ld-2.13.so

>

> I assume these files are in /lib. They are getting used after the

>

> upgrade, instead of:

> | lrwxrwxrwx 1 root root 25 2011-06-13 03:21 /lib-sid/ld-linux.so.2 ->

> | i386-linux-gnu/ld-2.13.so lrwxrwxrwx 1 root root 13 2011-01-20 15:52

> | /lib-sid/ld-lsb.so.1 -> ld-linux.so.2 lrwxrwxrwx 1 root root 13

> | 2011-01-20 15:52 /lib-sid/ld-lsb.so.2 -> ld-linux.so.2 lrwxrwxrwx 1 root

> | root 13 2011-01-20 15:52 /lib-sid/ld-lsb.so.3 -> ld-linux.so.2

>

> So the question above about how /lib-sid is managed is apparently

> very relevant.

>

> (Side note:

>

> libc6.preinst tries to check for stray ld-*.so files, but I see a

> loophole in that:

>

> # Binaries owned packages are considered to do the right thing

> if dpkg-query -L libc6 2>/dev/null | grep -q "$i"; then

> continue

> fi

>

> The grep pattern should be anchored and it would be comforting to

> check for diversions.

>

> if test -z "$(dpkg-divert --listpackage "$i")" &&

> dpkg-query -L libc6 2>/dev/null | grep -q "^$i\$"; then

> continue

> fi

> )

>

> > I am also attaching my /etc/profile.

>

> Thanks much for that. From the logs you sent, it seems that the

>

> crashing programs are using libc 2.11[*]. I also see:

> > # normal path and libraries:

> > export

> > PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/l

> > ocal/bin:/usr/games export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

>

> Presumably this (LD_LIBRARY_PATH) will explain the difference between

> interactive and noninteractive behavior once we understand the

> relationship between /lib and /lib-sid a little better.

>

> Regards,

> Jonathan

>

> [*] Summary of logs:

>

> [...]

>

> > 2011-06-15 16:28:13 startup archives unpack

> > 2011-06-15 16:28:21 upgrade libc-bin 2.13-4 2.13-7

>

> [...]

>

> > 2011-06-15 16:29:25 status installed libxt6 1:1.1.1-2

> > 2011-06-15 17:07:24 startup archives unpack

>

> [...]

>

> The triggering upgrade was of libc and some X libraries.

>

> > kern.log:

> [...]

>

> > Jun 15 16:29:16 dovidhalevi kernel: [ 346.957041] CPU0: Core

> > temperature/speed normal Jun 15 16:29:35 dovidhalevi kernel: [

> > 366.213317] ls[14779]: segfault at 0 ip (null) sp bfd20ce8 error 14 in

> > ls[8048000+17000] Jun 15 16:29:43 dovidhalevi kernel: [ 373.561288]

> > sudo[15167]: segfault at c ip b771acff sp bfae3ef0 error 4 in

> > libc-2.11.2.so[b7704000+140000]

>

> As you mentioned, commands during the upgrade worked fine but

> commands run in an interactive shell segfaulted. Such commands

> used libc 2.11 instead of the just-installed libc 2.13.

>

> [...]

>

> > [42854.194120] kernel BUG at

> > /build/buildd-linux-2.6_2.6.39-1-i386-RRBuT6/linux-2.6-2.6.39/debian/bui

> > ld/source_i386_none/fs/namei.c:1381! [42854.194126] invalid opcode: 0000

> > [#1] SMP

> > [42854.194133] last sysfs file:

> > /sys/devices/pci0000:00/0000:00:1f.2/host3/target3:0:1/3:0:1:0/evt_media

> > _change [42854.194138] Modules linked in: nls_utf8 isofs snd_usb_audio

> > snd_hwdep snd_usbmidi_lib snd_seq_dummy snd_hrtimer usb_storage uas

> > snd_mpu401 snd_mpu401_uart squashfs loop xt_multiport binfmt_misc ppdev

> > vboxnetadp(O) vboxnetflt(O) vboxdrv(O) nfsd lockd nfs_acl auth_rpcgss

> > sunrpc tun xt_tcpudp xt_limit nf_conntrack_ipv4 nf_defrag_ipv4 xt_state

> > ipt_LOG ipt_REJECT nf_conntrack_ftp nf_conntrack iptable_filter

> > ip_tables x_tables fuse it87 hwmon_vid i2c_dev lp ide_cd_mod ide_core

> > autofs4 ntfs msdos fat nls_iso8859_1 nls_cp1255 8139too nvidia(P)

> > snd_ens1371 gameport snd_ac97_codec ac97_bus snd_pcm_oss usbhid

> > snd_mixer_oss hid snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event

> > snd_seq option r8169 mii usb_wwan usbserial snd_timer snd_seq_device

> > uhci_hcd snd ehci_hcd usbcore soundcore sg snd_page_alloc sr_mod

> > parport_pc cdrom evdev processor parport rng_core i2c_i801 pcspkr button

> > i2c_core thermal_sys ext3 mbcache dm_mirror dm_region_hash dm_log dm_mod

> > jbd sd_mod crc_t10dif ata_generic at _piix libata scsi_mod

> > [42854.194278]

> > [42854.194284] Pid: 27724, comm: kio_thumbnail Tainted: P M O

> > 2.6.39-1-686-pae #1 / [42854.194294] EIP: 0060:[<c10d537d>] EFLAGS:

> > 00210202 CPU: 0

> > [42854.194303] EIP is at link_path_walk+0x16a/0x38a

>

> [...]

>

> > [42854.194550] Code: 6a 01 89 fa 50 89 d8 8d 4c 24 2c e8 db f6 ff ff 59

> > 89 c5 83 fd 00 58 0f 8c 1a 02 00 00 0f 84 d0 01 00 00 8b 43 2c 83 f8 07

> > 76 04 <0f> 0b eb fe 8b 54 24 08 83 ba 04 02 00 00 07 7e 1a 89 da 89 f8

> > [42854.194615] EIP: [<c10d537d>] link_path_walk+0x16a/0x38a SS:ESP

> > 0068:f0a0bb84

>

> Side note: if you can reproduce this oops without the nvidia driver

> loaded, that would be very useful. Probably not related, of course.

>

> [...]

>

> > [ 1018.683616] recollindex[16434]: segfault at 7 ip b778bc80 sp bfb7e910

> > error 4 in libxapian.so.22.3.0[b7651000+217000]

>

> Bug#513192 (= Bug#614760).



Here is the history, again:


1. After an errant install and loss of some files (my fault), I had to get a working system again. I could not find the saved copies of those files, so to do this, I manually copied all the libc6 files from the rescue CD (these are 2.11, stable at time produced). This yielded a chroot-able shell and a bootable system. This was then up/down-graded to testing 2.13-4. This should have gotten rid of the 2.11 files but maybe it did not.


2. Before attempting the 213-7 upgrade again, I copied the whole /lib.


3. I did the upgrade, got the segfaults. I went to the rescue CD or live CD, moved the errant /lib to /lib-sid and restored the copied lib with testing or mix. Up and running once again.


So lib-sid is the segfaulting shell system. lib is what I am using.


I did not notice any crashing programs, other than acroread which may be using its very own 2.11 libraries.


The current (bastardized-/lib) system seems to have the following problems:

1. Acroread does not run.

2. The aforementioned xapian problem?

3. Linking problem of a sound program. Fixed with an explicit symlink on /lib--should not have had to do that--why I added the 386-gnu symlink.

4. Various programs, i.e. synaptic, reportbug-ng, cannot get to character-set conversions. Never was a problem before. Adding to LD_LIBRARY_PATH did not help.

5. Kernel bug? That was not noticed on bootup.


Reply to: