Comment 0 for bug 979003

Revision history for this message
Chris J Arges (arges) wrote :

* Description of the problem:

libc incorrectly detects if AVX is enabled. On processors with AVX support like the Xeon E31270, libc does not check sufficiently to determine if AVX is actually enabled. The problem is exhibited on virtual machines using the effected version of eglibc where the host machine is running Xen and has a AVX capable CPU.

This bugreport explains the problem well: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649349

* Versions Affected:

The problem is in lucid, eglibc-2.11.1-0ubuntu7.10, x86_64.
The problem is also in current versions of eglibc available for Natty, Maverick and Oneiric.

The problem is patched upstream in debian unstable eglibc 2.13-22 which made it into precise eglibc 2.13-23ubuntu1:
https://launchpad.net/ubuntu/+source/eglibc/2.13-23ubuntu1

There is a patch backported for glibc 2.11 provided by avx-fix.patch here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646549

* How to reproduce:

The problem may only be reproducible on particular hardware that supports AVX being used as a Xen host.
It is reproducible when trying to start apache. The program exits when execution of an AVX instruction fails.

Start Apache on a Lucid guest VM where the host machine is running Xen and has a Xeon E31270 model cpu.

* What happens?
Apache exits with an error:
apache2[858] trap invalid opcode ip:7ffcebfdf920 sp:7fffc6da6798 error:0 in ld-2.11.1.so[7ffcebfca000+20000]

* What is expected?
Apache starts normally.