Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#3361 - Broken system after upgrade to glibc 2.3.5-6
Attached to Project:
Arch Linux
Opened by Gerwin Brill (brill) - Wednesday, 19 October 2005, 23:35 GMT
Last edited by arjan timmerman (blaasvis) - Monday, 31 October 2005, 11:43 GMT
Opened by Gerwin Brill (brill) - Wednesday, 19 October 2005, 23:35 GMT
Last edited by arjan timmerman (blaasvis) - Monday, 31 October 2005, 11:43 GMT
|
DetailsTried to update my system yesterday. Pacman report a whole bunch of packages! Coming back from lunch I noticed that a certain point every package update failed with the message: cannot set up thread-local storage: kernel too old for thread-local storage support!! Rebooting ended up with kernel panic and the same message!
Also the message appeared when I tried to boot with knoppix and then chroot to the installation. strace chroot /mnt/hdaX told me, that /lib/tls/libc-2.3.5 does not support set_thread_local()! gdb --args chroot /mn/hdaX gave the correct hint and reported an error in ld-2.3.5.so! The solution to the problem was to boot with knoppix, mount / from arch rw and replace glibc with the files from version 2.3.4-2 manualy (gzip / tar)! afterwards boot into arch and force pacman to downgrade glibc to version 2.3.4-2 (to cleanup the package-db)! Greetings, Gerwin Brill |
This task depends upon
Closed by Jan de Groot (JGC)
Friday, 04 November 2005, 10:57 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in 2.3.5-7 and -8, which contains some fixes to build against NPTL libs.
Friday, 04 November 2005, 10:57 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in 2.3.5-7 and -8, which contains some fixes to build against NPTL libs.
We're looking into a solution for this, though it may mean that we will not support the 2.4.x kernel series anymore.
So far, I am discovering the basics: 2.4 kernel doesn't support the new threading which is the preferred threading if you're using 2.6. It's called Native POSIX Threading Library - NPTL. 2.4 kernel supports LinuxThreads, which was the old threading library.
However, in general circumstances, it appears that glibc is supposed to be built to support both: the libraries in /lib are LinuxThreads and the ones in /lib/tls (for "thread-local storage") are for NPTL.
So here's some possiblities for what might be going wrong:
1) Somehow in this newest 2.3.5 version, the right version of those libraries is not getting chosen when the 2.4 kernel is booted, and so it's dying
2) Something fairly low-level (like init?) is compiled expressly against NPTL for some reason, so it's explicitly selecting the un-runnable library and dying
3)?
There could be many other options. I'm just using this as a way to record some of this thinking and give us a place for discussion.
googleling something around this morning, I found this hint at http://hr.uoregon.edu/davidrl/docs/glibc.html:
<!--
Thread-local storage:
Some people have run into the following error message while building glibc:
cannot set up thread-local storage: set_thread_area failed when setting up thread-local storage
This is frequently caused by building glibc on a system running Linux 2.4 and not passing the "linuxthreads" option to the --enable-add-ons parameter. Since glibc 2.3.5 builds the new thread model by default, it will fail even if you've downloaded and prepared the glibc-linuxthreads package.
-->
So one solution to maintain kernel2.4 support in ArchLinux (if the above mentioned information is correct! I didn't check this out) would be to prepare different glibc packages for systems running 2.4 and 2.6!
Here's the bad news: we do enable the option in our glibc build, with the flag: --enable-add-ons=linuxthreads
So it must be something more sinister.
Could it possibly be that this is a snapshot of glibc with a bug? Maybe we could try building another and see if the problem goes away? The more I read about this problem the more I begin to think that everything *should* be just working, just like it did with the previous glibc package version.. only it's not.
http://schoolbak.dyndns.org/~jan/glibc-2.3.5-7.pkg.tar.gz
If this one works fine with 2.4 kernels, it will go to testing and will go into current very shortly after that.
You are my new best friend. Seriously, though, if you have a Paypal account I'll send you, like, $50, because you've saved me tons of time.
I did a test on an updated box, and it seems to boot fine with both 2.4.31 and 2.6.13.4.
I think it's ready to go into testing; far from being rigorously tested, yet, the first looks seem to indicate that this is the fix we needed. I'll install the testing package on several of my devel machines and maybe my laptop, too, to give some better sense that this snapshot doesn't create other large issues.
Thanks again! I'm writing this from kernel 2.4 on my laptop, running with the new glibc. Everything seems smooth as silk so far.