Bug 22613

Summary: [i965 Wine] GPU or kernel driver hang conciding with wine GLSL error
Product: DRI Reporter: David L. <equinox-freedesktopbugs>
Component: DRM/IntelAssignee: Ian Romanick <idr>
Status: CLOSED WORKSFORME QA Contact:
Severity: major    
Priority: medium CC: tetromino
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
hangcheck warnings for cat /sys/kernel/debug/dri/0/...
none
wine error messages
none
intel_gpu_dump output
none
Xorg.0.log
none
intel_gpu_dump (bz2) output none

Description David L. 2009-07-04 00:16:15 UTC
Created attachment 27375 [details]
hangcheck warnings for cat /sys/kernel/debug/dri/0/...

When I fire up EVE Online in wine, all works fine until the moment EVE Online tries to draw the game screen. wine throws some error messages "GLSL compilation failed, unresolved symbols". Worse however, it causes a graphics lockup.

* screen freezes at "entering game" message with first game screen fading in in the background
* mouse pointer can still be moved
* X server can be killed from ssh; driver switches back to text console but text console is frozen as well. mouse pointer is still visible in text console (but cannot be moved)
* only way to repair freeze is to reboot

on trying a cat /sys/kernel/debug/dri/0/{bufs,clients,vm,vma,queues} hangs for quite some time and produces the attached kernel messages.

installed versions:

kernel 28d0325ce6e0a52f53d8af687e6427fee59004d3 (== 2.6.31-rc1)
libdrm 72a29340ea3225550db6b009f4e50c77c7b1f394 (2009-07-03 15:03:03+0200)
mesa 862488075c5537b0613753b0d14c267527fc6199 (2009-07-03 18:53:58+0200)
xf86-video-intel 74227141923a2f5049592219ab80e8733062a5d9 (2009-06-23 14:14:50+0100)
xorg-server d6b8205e699c0c62af76c4a9cbff1402337927b3 (2009-07-03 19:25:33-0700)

hardware:
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a02] (rev 03)
00:02.1 Display controller [0380]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a03] (rev 03)
MSI disabled.

will happily provide more information if i can, ask me in #dri-devel on Freenode, equinox.
Comment 1 David L. 2009-07-05 00:01:25 UTC
Created attachment 27384 [details]
wine error messages

attached: wine error messages; probably irrelevant for the DRI bug.
Comment 2 David L. 2009-07-05 01:22:56 UTC
Created attachment 27385 [details]
intel_gpu_dump output

intel_gpu_dump output, running with kernel 2.6.30.1, all other versions as indicated above. the output of intel_gpu_dump did not change on re-running it a few seconds later, assuming that means the GPU really got stuck


same behaviour on:
mesa master on 2.6.31-rc1
mesa master on 2.6.30.1
mesa 7.5 on 2.6.31-rc1

(mesa 7.5 manged to draw a few frames of in-game graphics before locking up, but I'd assume that's because the game isn't deterministically drawing the same things all the time)
Comment 3 David L. 2009-07-05 01:29:01 UTC
Created attachment 27386 [details]
Xorg.0.log

geez, managed to not notice the error message in Xorg.0.log. sorry:

[mi] EQ overflowing. The server is probably stuck in an infinite loop.

Backtrace:
0: X(xorg_backtrace+0x28) [0x4649b8]
1: X(mieqEnqueue+0x1e4) [0x45d554]
2: X(xf86PostKeyboardEvent+0xa0) [0x47bd80]
3: /usr/lib64/xorg/modules/input/evdev_drv.so [0x7f9d6d73d2b6]
4: X [0x471ed7]
5: X [0x519ca4]
6: /lib/libpthread.so.0 [0x7f9d7271faa0]
7: /lib/libc.so.6(ioctl+0x7) [0x7f9d70234cc7]
8: /usr/lib/libdrm_intel.so.1(drm_intel_gem_bo_map_gtt+0x75) [0x7f9d6e30eed5]
9: /usr/lib64/xorg/modules/drivers/intel_drv.so [0x7f9d6e559850]
10: /usr/lib64/xorg/modules/drivers/intel_drv.so [0x7f9d6e56cae6]
11: /usr/lib64/xorg/modules/drivers/intel_drv.so [0x7f9d6e56cb31]
12: X [0x4a4318]
13: X(ChangeWindowAttributes+0x2dd) [0x456d2d]
14: X [0x4317c4]
15: X [0x431e14]
16: X [0x426fb5]
17: /lib/libc.so.6(__libc_start_main+0xfd) [0x7f9d7018ca3d]
18: X [0x426b49]


this is with .drirc settings:
always_flush_cache=true
always_flush_batch=true
Comment 4 David L. 2009-07-05 04:34:16 UTC
bug #22622 (mesa progs/glsl/*noise*) causes a similar lockup on the same configuration
Comment 5 David L. 2009-07-05 05:03:40 UTC
Created attachment 27395 [details]
intel_gpu_dump (bz2) output

this one is with
always_flush_cache=false
always_flush_batch=false

(unlike the previous one)
Comment 6 David L. 2009-07-08 02:33:14 UTC
bug #22622 unrelated, removed from dependencies.

the common denominator from intel_gpu_dump seems to be
0x*0:      0x00000000: MI_NOOP
0x*4:      0xffffffff:    UNKNOWN
0x*8: HEAD 0xffffffff:    UNKNOWN

... taking guesses, but looks like invalid GPU code?

wine does complain about having failed to compile a shader, but this shouldn't cause a GPU lockup, should it?
Comment 7 Alexandre Rostovtsev 2009-07-20 12:05:03 UTC
I can confirm identical behavior (X hang caused by Eve+Wine, most of the time can only be resolved by rebooting) with kernel-2.6.30.1 and the latest git checkout of Mesa master branch on a laptop with GM45 graphics (00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07))
Comment 8 Alexandre Rostovtsev 2009-08-04 10:22:24 UTC
As of today, mesa from git master branch checkout no longer hangs in Eve. Perhaps one of Eric Anholt's commits yesterday fixed this bug?
Comment 9 David L. 2009-08-09 22:06:23 UTC
Confirmed, works now. Closing bug.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.