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

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



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/local/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/build/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).



Reply to: