Bug 965368

Summary: segfault in OsLookupColor whenever I try to launch Starcraft or Starcraft 2 (nvidia glx module problem)
Product: [Fedora] Fedora Reporter: Joseph Shraibman <jks>
Component: wineAssignee: Andreas Bierfert <andreas.bierfert>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 18CC: andreas.bierfert, mike, stefan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-29 04:10:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Xorg log none

Description Joseph Shraibman 2013-05-21 03:36:43 UTC
Created attachment 750827 [details]
Xorg log

Description of problem:
Whenever I try to play Starcraft 2 the lanucher starts up, but when I hit the play button X crashes.  This appears in the X log:

[   186.406] (EE) 
[   186.406] (EE) Backtrace:
[   186.409] (EE) 0: /usr/bin/X (OsLookupColor+0x139) [0x472509]
[   186.409] (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x32cfa0efff]
[   186.409] (EE) 
[   186.409] (EE) Segmentation fault at address 0x0
[   186.409] 
Fatal server error:
[   186.409] Caught signal 11 (Segmentation fault). Server aborting

KDE used to crash on me all the time with the same backtrace until a kde package upgrade fixed the problem.  While it is clearly a bug in X in that it allows itself to be killed by a bad call to OsLookupColor something is calling OsLookupColor with bad arguments (it takes pointers of addresses to set to RGB values and the pointers must be bad).

Version-Release number of selected component (if applicable):
wine-core-1.5.25-1.fc18.x86_64
xorg-x11-server-Xorg-1.13.3-3.fc18.x86_64


How reproducible:
Always

Steps to Reproduce:
1. Launch Starcraft 2
2. Hit Play button
3.

Actual results:
X server crashes

Expected results:
X server doesn't crash

Additional info:
If you search for OsLookupColor you find a few bugs similar to this one.

Comment 1 Michael Cronenworth 2013-05-21 04:35:31 UTC
Starcraft 2 is running fine for me.

This is probably related to a graphics driver or bad Wine prefix.

Can you list your video card and driver?

Can you try a clean wine prefix? (mv .wine .wine-save)

Comment 2 Joseph Shraibman 2013-05-21 04:44:02 UTC
Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
EndSection

[jks@jks-desktop /tmp]{f18}$ rpm -qa | grep nvidia
xorg-x11-drv-nvidia-devel-304.88-2.fc18.x86_64
kmod-nvidia-3.9.2-200.fc18.x86_64-304.88-1.fc18.8.x86_64
akmod-nvidia-304.88-1.fc18.x86_64
xorg-x11-drv-nvidia-libs-304.88-2.fc18.i686
kmod-nvidia-3.8.9-200.fc18.x86_64-304.88-1.fc18.5.x86_64
nvidia-settings-1.0-26.fc18.x86_64
kmod-nvidia-3.8.11-200.fc18.x86_64-304.88-1.fc18.7.x86_64
xorg-x11-drv-nvidia-304.88-2.fc18.x86_64
kmod-nvidia-304.88-1.fc18.8.x86_64
nvidia-xconfig-1.0-25.fc18.x86_64
xorg-x11-drv-nvidia-libs-304.88-2.fc18.x86_64

In order to try a clean wine prefix I'll have to reinstall Starcraft 2 which will takes hours.  I'll try tomorrow with Starcaft 1 if I have time.

Comment 3 Joseph Shraibman 2013-05-21 04:44:55 UTC
My video card from lspci:

02:00.0 VGA compatible controller: NVIDIA Corporation C77 [GeForce 8200] (rev a2)

Comment 4 Michael Cronenworth 2013-05-21 05:07:02 UTC
I am running Starcraft (1 & 2) on NVIDIA cards on multuple machines without a problem. I have been running Starcraft 2 since it was released and I also have the HOTS expansion.

I can only suspect you have a driver installation or wine prefix problem. There's a slight chance your video card is so old and doesn't contain a feature set well enough for Wine to play the game.

In any case, you will have better luck creating or attaching to an upstream bug at winehq.org.

Comment 5 Joseph Shraibman 2013-05-22 02:23:58 UTC
I just installed Starcraft 1 on a fresh prefix and X still crashes when I try to launch it.

What Nvidia chips do you have it working on?

I notice that I have wine-cms.i686 installed but not the x86_64 version.  Do you think that has anything to do with my problem?

Comment 6 Joseph Shraibman 2013-05-22 02:32:21 UTC
Installing wine-cms.x86_64 did not solve the problem :(

Comment 7 Michael Cronenworth 2013-05-22 14:46:03 UTC
(In reply to Joseph Shraibman from comment #5)
> What Nvidia chips do you have it working on?

A mobile 9650 and a desktop 9800 GTX+.

Comment 8 Joseph Shraibman 2013-05-29 02:08:05 UTC
I just got a new GeForce GT 630 and both Starcrafts are still crashing.

Comment 9 Joseph Shraibman 2013-05-29 04:10:50 UTC
After blowing away my xorg.conf and regenerating and fiddling I finally got the starcrafts working.  I think the problem was this:

[    98.381] (II) LoadModule: "glx"
[    98.384] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[    98.390] (II) Module glx: vendor="X.Org Foundation"
[    98.390] 	compiled for 1.13.3, module version = 1.0.0
[    98.390] 	ABI class: X.Org Server Extension, version 7.0
[    98.390] (**) AIGLX enabled
[    98.393] Loading extension GLX
[    98.393] (II) LoadModule: "nvidia"
[    98.393] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[    98.408] (II) Module nvidia: vendor="NVIDIA Corporation"

It was loading the wrong glx driver for some reason.  Now it looks like this:

[  3213.832] (II) LoadModule: "glx"
[  3213.832] (II) Loading /usr/lib64/nvidia/xorg/libglx.so
[  3213.838] (II) Module glx: vendor="NVIDIA Corporation"
[  3213.838] 	compiled for 4.0.2, module version = 1.0.0
[  3213.838] 	Module class: X.Org Server Extension
[  3213.838] (II) NVIDIA GLX Module  304.88  Wed Mar 27 14:46:57 PDT 2013
[  3213.841] Loading extension GLX
[  3213.841] (II) LoadModule: "nvidia"
[  3213.841] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[  3213.842] (II) Module nvidia: vendor="NVIDIA Corporation"
[  3213.842] 	compiled for 4.0.2, module version = 1.0.0
[  3213.842] 	Module class: X.Org Video Driver
[  3213.842] (II) NVIDIA dlloader X Driver  304.88  Wed Mar 27 14:28:14 PDT 2013
[  3213.842] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[  3213.842] (++) using VT number 2

There is probably a bug in the nvidia installer which didn't generate xorg.conf properly.