The 32-bit i386 install executes SSE instructions.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
compiz (Ubuntu) |
Expired
|
Medium
|
Unassigned |
Bug Description
I tried to install the 32-bit ubuntu-
The distribution did not install a graphics driver for the integrated graphics chip, so I installed an AMD/ATI video card, downloaded the latest driver from the AMD web site, and installed the driver.
On reboot, the system crashed while initializing the desktop. The apport bug report tool was launched, but as far as I can tell it did not upload the crash report. I'm not sure why.
Before clicking on "send", I browsed thru the report details. It said the internal error was in /usr/bin/compiz. Further down in the report was a disassembly of a code fragment which showed instructions from the SSE extensions to the x86 instruction set.
The AMD Sempron processor does not support SSE extensions to the architecture. Executing code that contains those instructions on this type of processor will result in an illegal instruction exception.
I don't know if compiz was compiled with the wrong compiler flags for i386, or if it contains optimization that assumed the extensions were present instead of checking the appropriate CPUID feature bits.
The default 32-bit Intel compile flags in Ubuntu are for Pentium III (i586) or later, which all provide SSE instructions. The Sempron line of GPUs from AMD have all supported SSE instructions, although some of the earlier ones do not support SSE2/SSE3 extensions. I myself have a system with an Athlon 3000+ (predecessor to the Sempron) on which Compiz runs just peachy, but I run a 64-bit image.
Compiz does not explicitly include any Intel-specific intrinsics or assembly code, so does not invoke SSE instructions directly. It's possible that SSE instructions are introduced by the compiler where the optimizer says it's advantageous, or linked in from a dynamically-loaded shared object such as an image decoder library or user-space video driver. WIthout examining the core dump it is not possible to say what the cause of this crash was.
Please try attaching the relevant crash information to this bug by using the terminal command "apport-collect 1409608". We might be able to dive a little deeper with more information.