Activity log for bug #201673

Date Who What changed Old value New value Message
2008-03-13 03:42:45 TheGZeus bug added bug
2008-03-13 03:43:51 Travis Watkins glibc: importance Undecided Critical
2008-03-13 03:43:51 Travis Watkins glibc: status New Confirmed
2008-03-13 05:17:18 Steve Langasek glibc: milestone ubuntu-8.04-beta
2008-03-13 09:25:05 Launchpad Janitor glibc: status Confirmed Fix Released
2008-03-13 14:26:04 Colin Watson description I'm too scared to restart... I DO have a /home partition, so it'll take maybe a day or two to get back to normal, but... backtrace for sudo: *** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 *** ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6[0xb7eb18c5] /lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7eb5330] /lib/tls/i686/cmov/libc.so.6(__libc_dlsym+0x90)[0xb7f54220] /lib/tls/i686/cmov/libc.so.6(__nss_lookup_function+0x153)[0xb7f2deb3] /lib/tls/i686/cmov/libc.so.6[0xb7f01eee] /lib/tls/i686/cmov/libc.so.6(getaddrinfo+0x199)[0xb7f03919] sudo[0x804ef45] sudo[0x8050000] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7e5c3a0] sudo[0x804a521] ======= Memory map: ======== 08048000-08062000 r-xp 00000000 03:07 1458637 /usr/bin/sudo 08062000-08063000 rw-p 00019000 03:07 1458637 /usr/bin/sudo 08063000-08087000 rw-p 08063000 00:00 0 [heap] b7ccb000-b7cd5000 r-xp 00000000 03:07 4014287 /lib/libgcc_s.so.1 b7cd5000-b7cd6000 rw-p 0000a000 03:07 4014287 /lib/libgcc_s.so.1 b7cd6000-b7cdf000 r-xp 00000000 03:07 4064979 /lib/tls/i686/cmov/libnss_files-2.7.so b7cdf000-b7ce1000 rw-p 00008000 03:07 4064979 /lib/tls/i686/cmov/libnss_files-2.7.so b7ce1000-b7ce9000 r-xp 00000000 03:07 4064981 /lib/tls/i686/cmov/libnss_nis-2.7.so b7ce9000-b7ceb000 rw-p 00007000 03:07 4064981 /lib/tls/i686/cmov/libnss_nis-2.7.so b7ceb000-b7cff000 r-xp 00000000 03:07 4064976 /lib/tls/i686/cmov/libnsl-2.7.so b7cff000-b7d01000 rw-p 00013000 03:07 4064976 /lib/tls/i686/cmov/libnsl-2.7.so b7d01000-b7d03000 rw-p b7d01000 00:00 0 b7d03000-b7d0a000 r-xp 00000000 03:07 4064977 /lib/tls/i686/cmov/libnss_compat-2.7.so b7d0a000-b7d0c000 rw-p 00006000 03:07 4064977 /lib/tls/i686/cmov/libnss_compat-2.7.so b7d25000-b7d64000 r--p 00000000 03:07 3424257 /usr/lib/locale/en_US.utf8/LC_CTYPE b7d64000-b7e45000 r--p 00000000 03:07 3424258 /usr/lib/locale/en_US.utf8/LC_COLLATE b7e45000-b7e46000 rw-p b7e45000 00:00 0 b7e46000-b7f8f000 r-xp 00000000 03:07 4064970 /lib/tls/i686/cmov/libc-2.7.so b7f8f000-b7f90000 r--p 00149000 03:07 4064970 /lib/tls/i686/cmov/libc-2.7.so b7f90000-b7f92000 rw-p 0014a000 03:07 4064970 /lib/tls/i686/cmov/libc-2.7.so b7f92000-b7f96000 rw-p b7f92000 00:00 0 b7f96000-b7f98000 r-xp 00000000 03:07 4064973 /lib/tls/i686/cmov/libdl-2.7.so b7f98000-b7f9a000 rw-p 00001000 03:07 4064973 /lib/tls/i686/cmov/libdl-2.7.so b7f9a000-b7fa3000 r-xp 00000000 03:07 4014659 /lib/libpam.so.0.81.6 b7fa3000-b7fa4000 rw-p 00008000 03:07 4014659 /lib/libpam.so.0.81.6 b7fab000-b7fac000 rw-p b7fab000 00:00 0 b7fac000-b7fad000 r--p 00000000 03:07 1491372 /usr/lib/locale/en_US.utf8/LC_NUMERIC b7fad000-b7fae000 r--p 00000000 03:07 1490998 /usr/lib/locale/en_US.utf8/LC_TIME b7fae000-b7faf000 r--p 00000000 03:07 1490999 /usr/lib/locale/en_US.utf8/LC_MONETARY b7faf000-b7fb0000 r--p 00000000 03:07 1491376 /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES b7fb0000-b7fb1000 r--p 00000000 03:07 1491412 /usr/lib/locale/en_US.utf8/LC_PAPER b7fb1000-b7fb2000 r--p 00000000 03:07 1491410 /usr/lib/locale/en_US.utf8/LC_NAME b7fb2000-b7fb3000 r--p 00000000 03:07 1491000 /usr/lib/locale/en_US.utf8/LC_ADDRESS b7fb3000-b7fb4000 r--p 00000000 03:07 1491001 /usr/lib/locale/en_US.utf8/LC_TELEPHONE b7fb4000-b7fb5000 r--p 00000000 03:07 1491006 /usr/lib/locale/en_US.utf8/LC_MEASUREMENT b7fb5000-b7fbc000 r--s 00000000 03:07 1475569 /usr/lib/gconv/gconv-modules.cache b7fbc000-b7fbd000 r--p 00000000 03:07 1491007 /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION b7fbd000-b7fbf000 rw-p b7fbd000 00:00 0 b7fbf000-b7fc0000 r-xp b7fbf000 00:00 0 [vdso] b7fc0000-b7fda000 r-xp 00000000 03:07 4014190 /lib/ld-2.7.so b7fda000-b7fdb000 r--p 00019000 03:07 4014190 /lib/ld-2.7.so b7fdb000-b7fdc000 rw-p 0001a000 03:07 4014190 /lib/ld-2.7.so bf7f0000-bf805000 rw-p bffeb000 00:00 0 [stack] Aborted KPDF: *** glibc detected *** kpdf: munmap_chunk(): invalid pointer: 0xb66d0ac0 *** ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6(cfree+0x1bb)[0xb7d3345b] /lib/tls/i686/cmov/libdl.so.2(dlerror+0x1e8)[0xb6be61b8] /usr/lib/libkdecore.so.4[0xb7697c15] /usr/lib/libkdecore.so.4(lt_dlsym+0x150)[0xb7696aa0] /usr/lib/libkdecore.so.4(_ZN15KLibWrapPrivateC1EP8KLibraryP18lt_dlhandle_struct+0x6f)[0xb754767f] /usr/lib/libkdecore.so.4(_ZN10KLibLoader7libraryEPKc+0x3b2)[0xb75ef672] /usr/lib/libkdecore.so.4(_ZN10KLibLoader7factoryEPKc+0x24)[0xb75efc54] kpdf(_ZN7QWidget6createEmbb+0x1141)[0x8050215] kpdf[0x8050a3f] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7cda3a0] kpdf(_ZN7QWidget17setUpdatesEnabledEb+0x3d)[0x804f281] ======= Memory map: ======== 08048000-08052000 r-xp 00000000 03:07 1458797 /usr/bin/kpdf 08052000-08053000 rw-p 0000a000 03:07 1458797 /usr/bin/kpdf 08053000-08117000 rw-p 08053000 00:00 0 [heap] b6135000-b624e000 r-xp 00000000 03:07 1459645 /usr/lib/libxml2.so.2.6.31 b624e000-b6253000 rw-p 00119000 03:07 1459645 /usr/lib/libxml2.so.2.6.31 b6253000-b6254000 rw-p b6253000 00:00 0 b6254000-b63c1000 r-xp 00000000 03:07 5816400 /usr/lib/libpoppler.so.2.0.0 b63c1000-b63df000 rw-p 0016d000 03:07 5816400 /usr/lib/libpoppler.so.2.0.0 b63df000-b643b000 r-xp 00000000 03:07 1460768 /usr/lib/libkutils.so.1.2.0 b643b000-b6440000 rw-p 0005c000 03:07 1460768 /usr/lib/libkutils.so.1.2.0 b6440000-b6502000 r-xp 00000000 03:07 1460744 /usr/lib/libkdeprint.so.4.2.0 b6502000-b650a000 rw-p 000c1000 03:07 1460744 /usr/lib/libkdeprint.so.4.2.0 b650a000-b659c000 r-xp 00000000 03:07 4161537 /usr/lib/kde3/libkpdfpart.so b659c000-b65a3000 rw-p 00091000 03:07 4161537 /usr/lib/kde3/libkpdfpart.so b65a3000-b65d0000 r-xp 00000000 03:07 5784156 /usr/lib/liblcms.so.1.0.16 b65d0000-b65d2000 rw-p 0002c000 03:07 5784156 /usr/lib/liblcms.so.1.0.16 b65d2000-b65d4000 rw-p b65d2000 00:00 0 b65d4000-b663f000 r-xp 00000000 03:07 5784187 /usr/lib/libmng.so.1.1.0.9 b663f000-b6642000 rw-p 0006a000 03:07 5784187 /usr/lib/libmng.so.1.1.0.9 b665b000-b6693000 r-xp 00000000 03:07 1490978 /usr/lib/kde3/plugins/styles/qtcurve.so b6693000-b6694000 rw-p 00037000 03:07 1490978 /usr/lib/kde3/plugins/styles/qtcurve.so b6694000-b6695000 rw-p b6694000 00:00 0 b6695000-b669e000 r-xp 00000000 03:07 4064979 /lib/tls/i686/cmov/libnss_files-2.7.so b669e000-b66a0000 rw-p 00008000 03:07 4064979 /lib/tls/i686/cmov/libnss_files-2.7.so b66a0000-b66a8000 r-xp 00000000 03:07 4064981 /lib/tls/i686/cmov/libnss_nis-2.7.so b66a8000-b66aa000 rw-p 00007000 03:07 4064981 /lib/tls/i686/cmov/libnss_nis-2.7.so b66aa000-b66be000 r-xp 00000000 03:07 4064976 /lib/tls/i686/cmov/libnsl-2.7.so b66be000-b66c0000 rw-p 00013000 03:07 4064976 /lib/tls/i686/cmov/libnsl-2.7.so b66c0000-b66c2000 rw-p b66c0000 00:00 0 b66c2000-b66c9000 r-xp 00000000 03:07 4064977 /lib/tls/i686/cmov/libnss_compat-2.7.so b66c9000-b66cb000 rw-p 00006000 03:07 4064977 /lib/tls/i686/cmov/libnss_compat-2.7.so b66d0000-b66d1000 rw-p b66d0000 00:00 0 b66d1000-b66d6000 r-xp 00000000 03:07 1525633 /usr/lib/qt3/plugins/imageformats/libqmng.so b66d6000-b66d7000 rw-p 00004000 03:07 1525633 /usr/lib/qt3/plugins/imageformats/libqmng.so b66d7000-b66d8000 rw-p b66d7000 00:00 0 b66d8000-b66e4000 r--p 00000000 03:07 1758444 /usr/share/locale-langpack/en_GB/LC_MESSAGES/kdelibs.mo b66e4000-b66ea000 r--s 00000000 03:07 1934010 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2 b66ea000-b66ed000 r--s 00000000 03:07 1933759 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-x86.cache-2 b66ed000-b66ee000 r--s 00000000 03:07 1933770 /var/cache/fontconfig/e3fa16a14183b06aa45b3e009278fd14-x86.cache-2 b66ee000-b66f2000 r--s 00000000 03:07 1933769 /var/cache/fontconfig/921a30a17f0be15c70ac14043cb7a739-x86.cache-2 b66f2000-b66f3000 r--s 00000000 03:07 1933764 /var/cache/fontconfig/c69f04ab05004e31a6d5e715764f16d8-x86.cache-2 b66f3000-b66f4000 r--s 00000000 03:07 1933376 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-x86.cache-2 b66f4000-b66f7000 r--s 00000000 03:07 1933766 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-x86.cache-2 b66f7000-b66fe000 r--s 00000000 03:07 1933762 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2 b66fe000-b6701000 r--s 00000000 03:07 1933756 /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2 b6701000-b6709000 r--s 00000000 03:07 1935642 /var/cache/fontconfig/e3de0de479f42330eadf588a55fb5bf4-x86.cache-2 b6709000-b6711000 r--s 00000000 03:07 1934009 /var/cache/fontconfKCrash: Application 'kpdf' crashing... This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. Workaround instructions for those affected will be posted here shortly (after testing); fixed packages are available from archive.ubuntu.com now.
2008-03-13 14:26:04 Colin Watson title Hardy: "invalid pointer: 0xb7ef4b70" no program will start. REGRESSION: glibc 2.7-9ubuntu1 NSS module broken due to toolchain changes
2008-03-13 15:32:03 Colin Watson description This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. Workaround instructions for those affected will be posted here shortly (after testing); fixed packages are available from archive.ubuntu.com now. This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. The quickest workaround is to copy an older version of the C library from the initramfs. This will work provided you upgraded from a relatively recent version of Hardy, so that the initramfs really does have an older version. DO NOT do this if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, as it will break your system badly. Reboot if necessary, and follow these steps: * Press Escape at start-up time to access the GRUB menu (this is not necessary on all systems) * Press 'e' to edit the normal Ubuntu boot options * Use the cursor keys to reach the line starting with 'kernel' * Press 'e' again to edit the boot command line * Change 'ro' to 'rw', remove 'splash', and add 'break=bottom' (without the quotes) to the end of the boot options * Press Enter and then 'b' to start up * After a few moments, you will be presented with an '(initramfs)' prompt * Type the following (you may see some 'No such file or directory' messages after running the cp command, which you can safely ignore): mount -o remount,rw /root cp /lib/libc.so.6 /lib/libdl.so.2 /lib/libm.so.6 /lib/libpthread.so.0 /lib/librt.so.1 /root/lib/ # run the following on the 32-bit PC edition (i386) cp /lib/ld-linux.so.2 /root/lib/ # run the following on the 64-bit PC edition (amd64) cp /lib64/ld-linux-x86-64.so.2 /root/lib64/ umount /root reboot * Start up normally If this does not work, or if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, then you will need to follow the steps below instead. If you have turned off your system, then you will be unable to start up and log in normally. In that case, get hold of a Hardy Alpha 6 desktop CD (since you are running a development version of Ubuntu, this should be reasonable); you can download it from http://cdimage.ubuntu.com/releases/hardy/alpha-6/ if you do not have one to hand, and follow these steps: * Start up from the desktop CD * Run Applications -> Accessories -> Terminal (GNOME) or K-Menu -> System -> Konsole (KDE) * If you are running the 32-bit PC (i386) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11110565/libc6_2.7-5ubuntu2_i386.deb * If you are running the 64-bit PC (amd64) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11109997/libc6_2.7-5ubuntu2_amd64.deb * If you are running some other edition of Ubuntu, older packages may be available from http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/ * In any case, continue by finding out the device name for your root partition, which will look something like '/dev/sda1'. You can run 'sudo fdisk -l' to find out all the available device names. The one you want will have 'Linux' in the 'System' column. A default installation will only have one such device; if you have more than one, then you probably know what you are doing! * Type the following into the terminal window, replacing DEVICE with the device name you found above: sudo mount DEVICE /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo cp libc6_*.deb /mnt/tmp/ # replace 'i386' with 'amd64' if you are running the 64-bit PC edition sudo chroot /mnt dpkg -i /tmp/libc6_2.7-5ubuntu2_i386.deb # this step may return some errors; don't worry about them sudo chroot /mnt dpkg --configure -a sudo umount /mnt/proc sudo umount /mnt/dev sudo umount /mnt * Reboot While fixed packages are now on archive.ubuntu.com, many mirrors will not yet have picked this up, so we advise that you be careful about upgrades for the next couple of days to avoid reintroducing the bug.
2008-03-13 15:49:01 Colin Watson description This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. The quickest workaround is to copy an older version of the C library from the initramfs. This will work provided you upgraded from a relatively recent version of Hardy, so that the initramfs really does have an older version. DO NOT do this if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, as it will break your system badly. Reboot if necessary, and follow these steps: * Press Escape at start-up time to access the GRUB menu (this is not necessary on all systems) * Press 'e' to edit the normal Ubuntu boot options * Use the cursor keys to reach the line starting with 'kernel' * Press 'e' again to edit the boot command line * Change 'ro' to 'rw', remove 'splash', and add 'break=bottom' (without the quotes) to the end of the boot options * Press Enter and then 'b' to start up * After a few moments, you will be presented with an '(initramfs)' prompt * Type the following (you may see some 'No such file or directory' messages after running the cp command, which you can safely ignore): mount -o remount,rw /root cp /lib/libc.so.6 /lib/libdl.so.2 /lib/libm.so.6 /lib/libpthread.so.0 /lib/librt.so.1 /root/lib/ # run the following on the 32-bit PC edition (i386) cp /lib/ld-linux.so.2 /root/lib/ # run the following on the 64-bit PC edition (amd64) cp /lib64/ld-linux-x86-64.so.2 /root/lib64/ umount /root reboot * Start up normally If this does not work, or if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, then you will need to follow the steps below instead. If you have turned off your system, then you will be unable to start up and log in normally. In that case, get hold of a Hardy Alpha 6 desktop CD (since you are running a development version of Ubuntu, this should be reasonable); you can download it from http://cdimage.ubuntu.com/releases/hardy/alpha-6/ if you do not have one to hand, and follow these steps: * Start up from the desktop CD * Run Applications -> Accessories -> Terminal (GNOME) or K-Menu -> System -> Konsole (KDE) * If you are running the 32-bit PC (i386) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11110565/libc6_2.7-5ubuntu2_i386.deb * If you are running the 64-bit PC (amd64) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11109997/libc6_2.7-5ubuntu2_amd64.deb * If you are running some other edition of Ubuntu, older packages may be available from http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/ * In any case, continue by finding out the device name for your root partition, which will look something like '/dev/sda1'. You can run 'sudo fdisk -l' to find out all the available device names. The one you want will have 'Linux' in the 'System' column. A default installation will only have one such device; if you have more than one, then you probably know what you are doing! * Type the following into the terminal window, replacing DEVICE with the device name you found above: sudo mount DEVICE /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo cp libc6_*.deb /mnt/tmp/ # replace 'i386' with 'amd64' if you are running the 64-bit PC edition sudo chroot /mnt dpkg -i /tmp/libc6_2.7-5ubuntu2_i386.deb # this step may return some errors; don't worry about them sudo chroot /mnt dpkg --configure -a sudo umount /mnt/proc sudo umount /mnt/dev sudo umount /mnt * Reboot While fixed packages are now on archive.ubuntu.com, many mirrors will not yet have picked this up, so we advise that you be careful about upgrades for the next couple of days to avoid reintroducing the bug. This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. The quickest workaround is to copy an older version of the C library from the initramfs. This will work provided you upgraded from a relatively recent version of Hardy, so that the initramfs really does have an older version. DO NOT do this if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, as it will break your system badly. Reboot if necessary, and follow these steps: * Press Escape at start-up time to access the GRUB menu (this is not necessary on all systems) * Press 'e' to edit the normal Ubuntu boot options * Use the cursor keys to reach the line starting with 'kernel' * Press 'e' again to edit the boot command line * Change 'ro' to 'rw', remove 'splash', and add 'break=bottom' (without the quotes) to the end of the boot options * Press Enter and then 'b' to start up * After a few moments, you will be presented with an '(initramfs)' prompt * Type the following (you may see some 'No such file or directory' messages after running the cp command, which you can safely ignore): mount -o remount,rw /root cp /lib/libc.so.6 /lib/libdl.so.2 /lib/libm.so.6 /lib/libpthread.so.0 /lib/librt.so.1 /root/lib/ # run the following on the 32-bit PC edition (i386) cp /lib/ld-linux.so.2 /root/lib/ # run the following on the 64-bit PC edition (amd64) cp /lib64/ld-linux-x86-64.so.2 /root/lib64/ umount /root reboot * Start up normally If this does not work, or if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, then you will need to follow the steps below instead. If you have turned off your system, then you will be unable to start up and log in normally. In that case, get hold of a Hardy Alpha 6 desktop CD (since you are running a development version of Ubuntu, this should be reasonable); you can download it from http://cdimage.ubuntu.com/releases/hardy/alpha-6/ if you do not have one to hand, and follow these steps: * Start up from the desktop CD * Run Applications -> Accessories -> Terminal (GNOME) or K-Menu -> System -> Konsole (KDE) * If you are running the 32-bit PC (i386) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11110565/libc6_2.7-5ubuntu2_i386.deb * If you are running the 64-bit PC (amd64) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11109997/libc6_2.7-5ubuntu2_amd64.deb * If you are running some other edition of Ubuntu, older packages may be available from http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/ * In any case, continue by finding out the device name for your root partition, which will look something like '/dev/sda1'. You can run 'sudo fdisk -l' to find out all the available device names. The one you want will have 'Linux' in the 'System' column. A default installation will only have one such device; if you have more than one, then you probably know what you are doing! * Type the following into the terminal window, replacing DEVICE with the device name you found above: sudo mount DEVICE /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo cp libc6_*.deb /mnt/tmp/ # replace 'i386' with 'amd64' if you are running the 64-bit PC edition sudo chroot /mnt dpkg -i /tmp/libc6_2.7-5ubuntu2_i386.deb # this step may return some errors; don't worry about them sudo chroot /mnt dpkg --configure -a sudo umount /mnt/proc sudo umount /mnt/dev sudo umount /mnt * Reboot Fixed packages (version 2.7-9ubuntu2) are now on archive.ubuntu.com. However, many mirrors will not yet have picked this up, so we advise that you be careful about upgrades for the next couple of days to avoid reintroducing the bug.
2008-03-13 18:43:07 Colin Watson description This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. The quickest workaround is to copy an older version of the C library from the initramfs. This will work provided you upgraded from a relatively recent version of Hardy, so that the initramfs really does have an older version. DO NOT do this if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, as it will break your system badly. Reboot if necessary, and follow these steps: * Press Escape at start-up time to access the GRUB menu (this is not necessary on all systems) * Press 'e' to edit the normal Ubuntu boot options * Use the cursor keys to reach the line starting with 'kernel' * Press 'e' again to edit the boot command line * Change 'ro' to 'rw', remove 'splash', and add 'break=bottom' (without the quotes) to the end of the boot options * Press Enter and then 'b' to start up * After a few moments, you will be presented with an '(initramfs)' prompt * Type the following (you may see some 'No such file or directory' messages after running the cp command, which you can safely ignore): mount -o remount,rw /root cp /lib/libc.so.6 /lib/libdl.so.2 /lib/libm.so.6 /lib/libpthread.so.0 /lib/librt.so.1 /root/lib/ # run the following on the 32-bit PC edition (i386) cp /lib/ld-linux.so.2 /root/lib/ # run the following on the 64-bit PC edition (amd64) cp /lib64/ld-linux-x86-64.so.2 /root/lib64/ umount /root reboot * Start up normally If this does not work, or if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, then you will need to follow the steps below instead. If you have turned off your system, then you will be unable to start up and log in normally. In that case, get hold of a Hardy Alpha 6 desktop CD (since you are running a development version of Ubuntu, this should be reasonable); you can download it from http://cdimage.ubuntu.com/releases/hardy/alpha-6/ if you do not have one to hand, and follow these steps: * Start up from the desktop CD * Run Applications -> Accessories -> Terminal (GNOME) or K-Menu -> System -> Konsole (KDE) * If you are running the 32-bit PC (i386) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11110565/libc6_2.7-5ubuntu2_i386.deb * If you are running the 64-bit PC (amd64) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11109997/libc6_2.7-5ubuntu2_amd64.deb * If you are running some other edition of Ubuntu, older packages may be available from http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/ * In any case, continue by finding out the device name for your root partition, which will look something like '/dev/sda1'. You can run 'sudo fdisk -l' to find out all the available device names. The one you want will have 'Linux' in the 'System' column. A default installation will only have one such device; if you have more than one, then you probably know what you are doing! * Type the following into the terminal window, replacing DEVICE with the device name you found above: sudo mount DEVICE /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo cp libc6_*.deb /mnt/tmp/ # replace 'i386' with 'amd64' if you are running the 64-bit PC edition sudo chroot /mnt dpkg -i /tmp/libc6_2.7-5ubuntu2_i386.deb # this step may return some errors; don't worry about them sudo chroot /mnt dpkg --configure -a sudo umount /mnt/proc sudo umount /mnt/dev sudo umount /mnt * Reboot Fixed packages (version 2.7-9ubuntu2) are now on archive.ubuntu.com. However, many mirrors will not yet have picked this up, so we advise that you be careful about upgrades for the next couple of days to avoid reintroducing the bug. This bug affects the Hardy development release (to become Ubuntu 8.04 LTS) ONLY. Stable releases of Ubuntu are NOT affected. In glibc 2.7-9ubuntu1, many critical programs (such as bash and sudo) fail to run with various error messages, such as "malloc: ../bash/subst.c:3472: assertion botched" from bash and "*** glibc detected *** sudo: free(): invalid pointer: 0xb7fabb70 ***" from sudo. This renders the system unusable. This bug was introduced due to changes in the default value of LDFLAGS for package builds; while these changes were useful and had been tested elsewhere, they unexpectedly broke the C library when it was next built. The quickest workaround is to copy an older version of the C library from the initramfs. This will work provided you upgraded from a relatively recent version of Hardy, so that the initramfs really does have an older version. DO NOT do this if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, as it will break your system badly. Reboot if necessary, and follow these steps: * Press Escape at start-up time to access the GRUB menu (this is not necessary on all systems) * Press 'e' to edit the normal Ubuntu boot options * Use the cursor keys to reach the line starting with 'kernel' * Press 'e' again to edit the boot command line * Change 'ro' to 'rw', remove 'splash', and add 'break=bottom' (without the quotes) to the end of the boot options * Press Enter and then 'b' to start up * After a few moments, you will be presented with an '(initramfs)' prompt * Type the following (you may see some 'No such file or directory' messages after running the cp command, which you can safely ignore): mount -o remount,rw /root cp /lib/libc.so.6 /lib/libdl.so.2 /lib/libm.so.6 /lib/libpthread.so.0 /lib/librt.so.1 /root/lib/ # run the following on the 32-bit PC edition (i386) cp /lib/ld-linux.so.2 /root/lib/ # run the following on the 64-bit PC edition (amd64) cp /lib64/ld-linux-x86-64.so.2 /root/lib64/ umount /root reboot * Start up normally If this does not work, or if you encountered this bug immediately after upgrading from Ubuntu 7.10 or earlier, then you will need to follow the steps below instead. If you have turned off your system, then you will be unable to start up and log in normally. In that case, get hold of a Hardy Alpha 6 desktop CD (since you are running a development version of Ubuntu, this should be reasonable); you can download it from http://cdimage.ubuntu.com/releases/hardy/alpha-6/ if you do not have one to hand, and follow these steps: * Start up from the desktop CD * Run Applications -> Accessories -> Terminal (GNOME) or K-Menu -> System -> Konsole (KDE) * If you are running the 32-bit PC (i386) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11110565/libc6_2.7-5ubuntu2_i386.deb * If you are running the 64-bit PC (amd64) edition of Ubuntu, type the following into the terminal window: wget http://launchpadlibrarian.net/11109997/libc6_2.7-5ubuntu2_amd64.deb * If you are running some other edition of Ubuntu, older packages may be available from http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/ * In any case, continue by finding out the device name for your root partition, which will look something like '/dev/sda1'. You can run 'sudo fdisk -l' to find out all the available device names. The one you want will have 'Linux' in the 'System' column. A default installation will only have one such device; if you have more than one, then you probably know what you are doing! * Type the following into the terminal window, replacing DEVICE with the device name you found above: sudo mount DEVICE /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo cp libc6_*.deb /mnt/tmp/ # replace 'i386' with 'amd64' if you are running the 64-bit PC edition sudo chroot /mnt dpkg -i /tmp/libc6_2.7-5ubuntu2_i386.deb # this step may return some errors; don't worry about them sudo chroot /mnt dpkg --configure -a sudo chroot /mnt update-initramfs -u sudo umount /mnt/proc sudo umount /mnt/dev sudo umount /mnt * Reboot Fixed packages (version 2.7-9ubuntu2) are now on archive.ubuntu.com. However, many mirrors will not yet have picked this up, so we advise that you be careful about upgrades for the next couple of days to avoid reintroducing the bug.
2010-02-22 22:15:23 Launchpad Janitor branch linked lp:ubuntu/hardy-proposed/glibc