** Description changed: 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. + 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.
-- REGRESSION: glibc 2.7-9ubuntu1 NSS module broken due to toolchain changes https://bugs.launchpad.net/bugs/201673 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
