[Users] Problems on AVX "Sandy Bridge" hardware

MK mk at cognitivedissonance.ca
Mon Jul 18 10:36:29 EDT 2011


I have a small VPS I use for testing and personal projects which is
run under openVZ by a commercial provider. About 3 weeks ago, the
provider migrated to using new Xeon "Sandy Bridge" processors.  I do a
lot of things with apache mod_perl, and at that point, most of it broke;
the apache worker exits after receiving SIGILL, "Illegal instruction".

That is not a perl error, and a very simple test case confirmed this.
So I ran apache in gdb and have a backtrace pasted here:

http://pastebin.com/16SrEzHM

This backtrace is nearly identical to one from a bug reported last year
for glibc 2.12 on AVX enabled hardware:

http://sourceware.org/bugzilla/show_bug.cgi?format=multiple&id=12113

Wikipedia claims that the 2011 Xeon "Sandy Bridge" is the only
currently available processor using these new extensions:

http://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX

Apparently glibc 2.13, gcc 4.6, and kernel 2.6.30 support AVX.  I
imagine this is generally true as I could find no reports of any 
problem besides the glibc 2.12 issue from last year.   There is a
"small reproducer" .zip attached to that report, and it does reproduce
on the VPS, which is running Fedora 14, glibc 2.13 built with gcc
4.5.1, and kernel 2.6.32-238.

So I reported this as a glibc bug, but with fedora:

https://bugzilla.redhat.com/show_bug.cgi?id=720176

Andreas Schwab points out there that according to my dump
of /proc/cpuinfo (in the report), the processor *is not* AVX enabled.
However, it definitely is a "Sandy Bridge" and the model number from
cpuinfo, "Intel(R) Xeon(R) CPU E31230", is according to Intel an AVX
processor:

http://ark.intel.com/Product.aspx?id=52271

This lead me to ask about the issue on the linux kernel devel mailing
list.   Responses there claim that this is likely due to the
virtual containerization (ie, openVZ) screwing up the cpu flags. 

Could that be due to some misconfiguration by the vendor?  Right now,
they claim no one else has reported such a problem, but have no idea
how many (if any) of their other clients are running mod_perl, and the
only other software I have noticed which triggers the problem is the
"small reproducer" (qv.) from the original glibc 2.12 bugzilla report on
sourceware.org.

Or could this be a problem intrinsic to openVZ?

Sincerely, Mark Eriksen


-- 
"Enthusiasm is not the enemy of the intellect." (said of Irving Howe)
"The angel of history[...]is turned toward the past." (Walter Benjamin)



More information about the Users mailing list