Hello,

while dist-upgrading from stable to testing I encounterd the following problem, also discussed in
http://www.mail-archive.com/[email protected]/msg08274.html
and treated as bug#226688.


Every program using fork() is thrwoing the assertion:
sh: ../nptl/sysdeps/unix/sysv/linux/fork.c:132: __libc_fork: Assertion `({ __typeof (self->tid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (((size_t) &((struct pthread *)0)->tid))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (((size_t) &((struct pthread *)0)->tid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (((size_t) &((struct pthread *)0)->tid)), "i" (((size_t) &((struct pthread *)0)->tid) + 4)); } __value; }) != ppid' failed.



In another thread about this issue I have read that the output of LD_DEBUG=all /lib/ld-linux.so.2 --list /bin/bash could be usefull, so I append it here as well.

For hints about solving this and actually also for hints about how to recover the actual situation (probably restoring the old versions of the libs in /lib? But I did this once and the system wasnt respondiong anylonger) I'm thankful.

Ciao, Frank.



APPENDIX:  LD_DEBUG=all /lib/ld-linux.so.2 --list /bin/bash


4782: file=/bin/bash; generating link map
4782: dynamic: 0x080c45fc base: 0x00000000 size: 0x00080a10
4782: entry: 0x080591d0 phdr: 0x08048034 phnum: 6
4782:
4782:
4782: file=libncurses.so.5; needed by /bin/bash
4782: find library=libncurses.so.5; searching
4782: search cache=/etc/ld.so.cache
4782: trying file=/lib/libncurses.so.5
4782:
4782: file=libncurses.so.5; generating link map
4782: dynamic: 0x40040f54 base: 0x40004000 size: 0x0003dc80
4782: entry: 0x40011f40 phdr: 0x40004034 phnum: 3
4782:
4782:
4782: file=libdl.so.2; needed by /bin/bash
4782: find library=libdl.so.2; searching
4782: search cache=/etc/ld.so.cache
4782: trying file=/lib/tls/libdl.so.2
4782:
4782: file=libdl.so.2; generating link map
4782: dynamic: 0x40044e5c base: 0x40042000 size: 0x00003000
4782: entry: 0x40043a90 phdr: 0x40042034 phnum: 7
4782:
4782:
4782: file=libc.so.6; needed by /bin/bash
4782: find library=libc.so.6; searching
4782: search cache=/etc/ld.so.cache
4782: trying file=/lib/tls/libc.so.6
4782:
4782: file=libc.so.6; generating link map
4782: dynamic: 0x4017cdc4 base: 0x40045000 size: 0x0013ac8c
4782: entry: 0x4005a8e0 phdr: 0x40045034 phnum: 9
4782:
4782: checking for version `GLIBC_2.1' in file /lib/tls/libdl.so.2 required by file /bin/bash
4782: checking for version `GLIBC_2.0' in file /lib/tls/libdl.so.2 required by file /bin/bash
4782: checking for version `GLIBC_2.1' in file /lib/tls/libc.so.6 required by file /bin/bash
4782: checking for version `GLIBC_2.2' in file /lib/tls/libc.so.6 required by file /bin/bash
4782: checking for version `GLIBC_2.0' in file /lib/tls/libc.so.6 required by file /bin/bash
4782: checking for version `GLIBC_2.1.3' in file /lib/tls/libc.so.6 required by file /lib/libncurses.so.5
4782: checking for version `GLIBC_2.1' in file /lib/tls/libc.so.6 required by file /lib/libncurses.so.5
4782: checking for version `GLIBC_2.0' in file /lib/tls/libc.so.6 required by file /lib/libncurses.so.5
4782: checking for version `GLIBC_2.3' in file /lib/tls/libc.so.6 required by file /lib/tls/libdl.so.2
4782: checking for version `GLIBC_2.1.3' in file /lib/tls/libc.so.6 required by file /lib/tls/libdl.so.2
4782: checking for version `GLIBC_2.1' in file /lib/tls/libc.so.6 required by file /lib/tls/libdl.so.2
4782: checking for version `GLIBC_PRIVATE' in file /lib/tls/libc.so.6 required by file /lib/tls/libdl.so.2
4782: checking for version `GLIBC_2.0' in file /lib/tls/libc.so.6 required by file /lib/tls/libdl.so.2
4782: checking for version `GLIBC_PRIVATE' in file /lib/ld-linux.so.2 required by file /lib/tls/libdl.so.2
4782: checking for version `GLIBC_2.3' in file /lib/ld-linux.so.2 required by file /lib/tls/libc.so.6
4782: checking for version `GLIBC_2.1' in file /lib/ld-linux.so.2 required by file /lib/tls/libc.so.6
4782: checking for version `GLIBC_2.0' in file /lib/ld-linux.so.2 required by file /lib/tls/libc.so.6
4782: checking for version `GLIBC_PRIVATE' in file /lib/ld-linux.so.2 required by file /lib/tls/libc.so.6
libncurses.so.5 => /lib/libncurses.so.5 (0x40004000)
libdl.so.2 => /lib/tls/libdl.so.2 (0x40042000)
libc.so.6 => /lib/tls/libc.so.6 (0x40045000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)





Reply via email to