At Wed, 30 Jun 2004 16:40:52 +0200,
Frank Hempel wrote:
> 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.

The conclusion of thread #226688 is: don't use such kernel with
invalid version.  We put libc.preinst that obstruct to install such
invalid kernel.  I guess you had installed glibc on another normal
kernel, then you restarted with newer (invalid) kernel.

Please check 2.3.2.ds1-13 /var/lib/dpkg/info/libc6.preinst:

    # Test to make sure z < 255, in x.y.z-n form of kernel version
    # Also make sure we don't trip on x.y.zFOO-n form
    #kernel_rev=$(uname -r | tr -- - . | cut -d. -f3 | tr -d '[:alpha:]')
    kernel_rev=$(uname -r | sed 's/\([0-9]*\.[0-9]*\.\)\([0-9]*\)\(.*\)/\2/')
    if [ "$kernel_rev" -ge 255 ]
    then
        echo WARNING: Your kernel version indicates a revision number
        echo of 255 or greater.  Glibc has a number of built in
        echo assumptions that this revision number is less than 255.
        echo If you\'ve built your own kernel, please make sure that any 
        echo custom version numbers are appended to the upstream
        echo kernel number with a dash or some other delimiter.

        exit 1
    fi

Regards,
-- gotom


Reply via email to