The 32-bit i386 install executes SSE instructions.

Bug #1409608 reported by Jim C
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Expired
Medium
Unassigned

Bug Description

I tried to install the 32-bit ubuntu-14.04.1-desktop-i386.iso on an older, but working computer with a 2 GHz AMD Sempron processor with 4 GiB of RAM. This system would seem to handily exceed the system requirements. By "working", I mean that it has been running Windows XP for years.

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.

Revision history for this message
Stephen M. Webb (bregma) wrote :

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.

Changed in compiz (Ubuntu):
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
Jim C (b647-11d7-aa56) wrote :

Thanks, Stephen.

I found the apport crash file and I'm attaching it.

I stand corrected about SSE support. You are absolutely correct. This processor is an AMD Sempron 2400+ (K7 architecture) which does support SSE but not SSE2.

On further reflection, I'm starting to suspect the AMD driver as the guilty party, and not compiz.

CPU ID (0) Vendor ID "AuthenticAMD"
CPU ID (1) Processor & Features
EAX Processor: 0x681
bits 13-12 type: 0
bits 11-8 instruction family: 6
bits 7-4 model: 8
bits 3-0 stepping: 1
EDX Feature Flags: 0x0383FBFF
bit 0 Floating-Point Unit yes
bit 1 Virtual Mode Ext yes
bit 2 Debugging Ext yes
bit 3 Page Size Ext yes
bit 4 Time Stamp Counter yes
bit 5 Model Specific Regs yes
bit 6 Physical Addr Ext yes
bit 7 Machine Check Ext yes
bit 8 CMPXCHG8 Instruction yes
bit 9 Advanced Prog Int Cntlr (APIC) yes
bit 11 SYSENTER/SYSEXIT yes
bit 12 Machine Type Range Regs yes
bit 13 Global Paging Ext yes
bit 14 Machine Check Arch yes
bit 15 Cond Move Instruction yes
bit 16 Page Attribute Table yes
bit 17 PSE-36 yes
bit 23 MMX Technology yes
bit 24 FXSAVE/FXRSTOR yes
bit 25 Streaming SIMD Extension yes
CPU ID (80000000) Extended Functions
CPU ID (80000001) Processor & Features
EAX Processor: 0x781
bits 11-8 Generation: 7
bits 7-4 Model: 8
bits 3-0 Step: 1
EDX Feature Flags: 0xC1CBFBFF
bit 0 Floating-Point Unit yes
bit 1 Virtual Mode Ext yes
bit 2 Debugging Ext yes
bit 3 Page Size Ext yes
bit 4 Time Stamp Counter yes
bit 5 Model Specific Regs yes
bit 6 Page Address Ext yes
bit 7 Machine Check Ext yes
bit 8 CMPXCHG8 Instruct yes
bit 9 APIC yes
bit 11 SYSCALL/SYSRET yes
bit 12 Memory Type Range Regs yes
bit 13 Global Paging Ext yes
bit 14 Machine Check yes
bit 15 Int Cond Move Instruct yes
bit 16 Page Attribute Table yes
bit 17 PSE-36 yes
bit 19 Reserved yes
bit 22 AMD MMX Extensions yes
bit 23 MMX Technology yes
bit 24 Reserved yes
bit 30 AMD 3D Now! Extensions yes
bit 31 3D Now! yes
CPU ID (80000002..4) Processor Name "AMD Athlon(tm) XP"

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for compiz (Ubuntu) because there has been no activity for 60 days.]

Changed in compiz (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.