[arch-general] Intel CPUs and glibc-2.21.3
Hi, Yesterday after upgrading my system I started having emacs segfaulting when started in daemon mode. This bug was weird because it didn't happen after an emacs update. Looking for help on IRC, Namarrgon helped me to get the trace that looked like this [1]: Thread 1 (Thread 0x7ffff7f96980 (LWP 1768)): Already logging to trace.log. #0 __lll_unlock_elision (lock=0x7fffefbc1ee8, private=0) at ../sysdeps/unix/sysv/linux/x86/elision-unlock.c:29 No locals. #1 0x00007fffef97512c in ?? () from /usr/lib/libEGL.so.1 No symbol table info available. #2 0x00007fffef9078c2 in ?? () from /usr/lib/libEGL.so.1 No symbol table info available. #3 0x00007fffffffe1e0 in ?? () No symbol table info available. #4 0x00007fffef986831 in ?? () from /usr/lib/libEGL.so.1 No symbol table info available. #5 0x00007fffffffe1e0 in ?? () No symbol table info available. #6 0x00007ffff7dea815 in _dl_fini () at dl-fini.c:257 nmaps = <optimized out> nloaded = <optimized out> i = <optimized out> l = 0x7ffff7faca50 ns = 140737215411296 maps = 0xffffffff maps_size = 140737262191424 do_audit = <optimized out> __PRETTY_FUNCTION__ = "_dl_fini" Backtrace stopped: previous frame inner to this frame (corrupt stack?) The reason of the segfault was located in the glibc, and was due to the update to glibc-2.21-3. According to the explanation of Namarrgon, the bug is not a glibc one but a bug in the Intel CPU firmware:
TSX is defective on haswall and some broadwell CPUs and intel disabled it via firmware, you weren't applying the firmware and running into the bug
lock-elision is part of the broken instruction
The solution is quite simple: Follow instructions on the wiki to install the Intel Microcode [2]. The general procedure is: - Install `intel-ucode' - Update bootloader config to include it (e.g. grub: `# grub-mkconfig -o /boot/grub/grub.cfg') - Restart && Enjoy On reddit [3] there was other people having the same issue but with different software: at least VLC for the the original poster. I'm sharing this here because the issue is not evident to find. The bug was not present with previous versions of glibc in my case (I never had the microcode installed). I hope this could help other people to identify the problem if they encounter it. Maybe an official announcement could be useful if there is other people having this issue with the new glibc? I'll let devs and TUs decide this. [1] http://hastebin.com/dopoluqodu.vala [2] https://wiki.archlinux.org/index.php/Microcode [3] https://www.reddit.com/r/archlinux/comments/33laqv/segmentation_fault_in_vlc... Best regards, ++ Fabien
On 24 April 2015 at 16:46, Fabien Dubosson <fabien.dubosson@gmail.com> wrote:
Hi,
On reddit [3] there was other people having the same issue but with different software: at least VLC for the the original poster.
Good idea. I encountered the same problem one or two days ago. For me, vlc, vim and dot (graphviz) were affected. It seems safe to assume a lot of other programs are also affected. (Fortunately for me foutrelis on #archlinux saved me in record time.) Regards, Maarten
mY FIRMWARE -- Eli Schwartz
Well, that was weird. :o I was going to say, my firmware was applied via a bios update. Seems to be working just fine on general principles. -- Eli Schwartz
participants (3)
-
Eli Schwartz
-
Fabien Dubosson
-
Maarten de Vries