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 via email to