Bug 173710

Summary: x server built with wrong cpu options?
Product: [Fedora] Fedora Reporter: Jesse Barnes <jbarnes>
Component: xorg-x11-serverAssignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-11-23 22:58:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 150222, 171376    

Description Jesse Barnes 2005-11-19 06:01:58 UTC
Trying to run the new modular bits on my VIA box, which doesn't support cmov, 
results in the following at the end of my log (a SIGILL).  It looks like one 
of the X packages is built with an i686 compile option or something? 
(II) Initializing built-in extension RANDR  
(II) Initializing built-in extension COMPOSITE  
(II) Initializing built-in extension DAMAGE  
(II) Initializing built-in extension XEVIE  
   *** If unresolved symbols were reported above, they might not  
   *** be the reason for the server aborting.  
Fatal server error:  
Caught signal 4.  Server aborting

Comment 1 Mike A. Harris 2005-11-19 10:47:48 UTC
Everything is built with the stock $RPM_OPT_FLAGS, passed through via rpm.
Install the debuginfo packages, enable core dumps, and enable NoTrapSignals
in the serverflags section of xorg.conf, then run the X server as root and
get a core dump if possible.

Alternatively, run gdb on the server (from another computer) to try to
trace what's going wrong.

Hope this helps.

Comment 2 Mike A. Harris 2005-11-19 10:57:42 UTC
I just confirmed that we our default compiler flags do not use CMOV, and
should work fine on via CPUs.  The only other code in the X server that I
can think of which could theoretically trigger a SIGILL, is the MMX/SSE
code used in fbmmx et al.

I'd recommend reporting this bug to X.Org bugzilla, and attaching your X
server log and config file to the upstream bug report, then pasting the
URL here for us to track.  If there is a problem in the MMX/SSE code, it
will affect all distributions.

Comment 3 Jesse Barnes 2005-11-19 17:08:27 UTC
Yep, that looks like the problem: 
Program received signal SIGILL, Illegal instruction. 
0x00dd4c16 in fbHaveMMX () from /usr/lib/xorg/modules/libfb.so 
I'll report it upstream. 

Comment 4 Mike A. Harris 2005-11-22 16:52:02 UTC
What's the upstream bug URL?

Comment 5 Jesse Barnes 2005-11-22 17:55:24 UTC
Upstream url is https://bugs.freedesktop.org/show_bug.cgi?id=5093.  Patch in 
that bug fixes this problem. 

Comment 6 Mike A. Harris 2005-11-23 22:58:57 UTC
Fixed in xorg-x11-server-utils-0.99.2-7:

* Wed Nov 23 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-7
- Update xorg-x11-server-utils dep to 0.99.2-5 to ensure rgb.txt is installed
  in correct location - _datadir/X11/rgb
- Added --with-rgb-path configure option to specify _datadir/X11/rgb so the
  X server finds the rgb.txt database properly, for bugs (#173453, 173435,
  173428, 173483, 173734, 173737, 173594)
- Added xorg-server-0.99.3-fbmmx-fix-for-non-SSE-cpu.patch to prevent SSE/MMX
  code from being activated on non-capable VIA CPU. (#173384,fdo#5093)