Bug 22057

Summary: [965GM EXA] X crashes when moving a window showing video.
Product: Mesa Reporter: Detlev Casanova <detlev.casanova>
Component: Drivers/DRI/i965Assignee: Gordon Jin <gordon.jin>
Status: RESOLVED WONTFIX QA Contact:
Severity: major    
Priority: medium Keywords: NEEDINFO
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Detlev Casanova 2009-06-03 01:38:47 UTC
When I move an MPlayer window which is playing video with the -vo xv option (there can be others, I know the bug does not appear with -vo gl2), X crashes and I have this message in kdm.log (curiously, it's neither in Xorg.0.log.old nor in metalog) : 
exaCopyDirty: Pending damage region empty!
X: intel_bufmgr_gem.c:561: drm_intel_gem_bo_unreference_locked: Assertion `bo_gem->refcount > 0' failed.

X is compiled with the debug option.


uname -a
Linux naboo 2.6.29-gentoo-r4 #1 SMP Mon May 18 17:28:55 CEST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

pkg-config --modversion libdrm
2.4.11

OpenGL renderer string: Mesa DRI Intel(R) 965GM GEM 20090418 2009Q1           
OpenGL version string: 2.0 Mesa 7.4.2

X.Org X Server 1.5.3

(II) Module intel: vendor="X.Org Foundation"
        compiled for 1.5.3, module version = 2.6.3

LVDS connected 1920x1200+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1920x1200      60.0*+   60.0     58.9
Comment 1 Gordon Jin 2009-06-03 13:20:41 UTC
So you are using pretty new libdrm but a bit older xf86-video-intel/xserver.
Could you upgrade to xf86-video-intel >=2.7 (preferrably master branch tip) and xserver>=1.6, and better try UXA (instead of EXA)? EXA has been removed in 2.7.99. 
Comment 2 Detlev Casanova 2009-06-03 15:00:17 UTC
Yes, I had troubles of X being stuck in an infinite loop with this configuration :
X.Org X Server 1.6.1.901 (1.6.2 RC 1)
Intel driver 2.7.1

But this problem is gone, about the inifinte loop, I have this messages in Xorg.0.log :
[mi] EQ overflowing. The server is probably stuck in an infinite loop.

Backtrace:
0: /usr/bin/X(xorg_backtrace+0x26) [0x4ead06]
1: /usr/bin/X(mieqEnqueue+0x291) [0x4cb751]
2: /usr/bin/X(xf86PostMotionEventP+0xc4) [0x4765d4]
3: /usr/bin/X(xf86PostMotionEvent+0xb1) [0x4767b1]
4: /usr/lib64/xorg/modules/input//synaptics_drv.so [0x7fb8fd249b42]
5: /usr/lib64/xorg/modules/input//synaptics_drv.so [0x7fb8fd24c16c]
6: /usr/bin/X [0x4893a5]
7: /usr/bin/X [0x46d2b7]
8: /lib/libpthread.so.0 [0x7fb9130913c0]
9: /lib/libc.so.6(ioctl+0x7) [0x7fb911049117]
10: /usr/lib/libdrm.so.2(drmIoctl+0x23) [0x7fb910342c23]
11: /usr/lib/libdrm.so.2(drmCommandWrite+0x1b) [0x7fb910342eab]
12: /usr/lib64/xorg/modules/drivers//intel_drv.so(I830Sync+0xa8) [0x7fb90f822988]
13: /usr/lib64/xorg/modules//libexa.so(exaWaitSync+0x5c) [0x7fb90efbbc2c]
14: /usr/lib64/xorg/modules//libexa.so(ExaDoPrepareAccess+0x91) [0x7fb90efbcde1]
15: /usr/lib64/xorg/modules//libexa.so [0x7fb90efc21a9]
16: /usr/lib64/xorg/modules//libexa.so [0x7fb90efc26ad]
17: /usr/lib64/xorg/modules//libexa.so(exaDoMigration+0x68f) [0x7fb90efc2e9f]
18: /usr/lib64/xorg/modules//libexa.so [0x7fb90efc431c]
19: /usr/lib64/xorg/modules//libexa.so(exaComposite+0x63f) [0x7fb90efc4a3f]
20: /usr/bin/X [0x52bfa8]
21: /usr/bin/X [0x51b1ca]
22: /usr/bin/X(Dispatch+0x364) [0x44a084]
23: /usr/bin/X(main+0x44d) [0x43079d]
24: /lib/libc.so.6(__libc_start_main+0xf4) [0x7fb910fa84a4]
25: /usr/bin/X [0x42fb89]
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
<Snip>

but I don't know how to reproduce that...
Comment 3 Detlev Casanova 2009-06-03 15:01:30 UTC
Ho right, switching to UXA, I'll do that :)
It should avoid those X freezes....
Comment 4 Detlev Casanova 2009-06-03 15:25:20 UTC
Ok, still in th same area, I got an X server crash with that message :
Mesa 7.4.2 implementation error: invalid reference to a deleted texture object
Please report at bugzilla.freedesktop.org
X: main/texobj.c:305: _mesa_reference_texobj: Assertion `valid_texture_object(oldTex)' failed.

I was changing some kde eye-candy effects. the server restarted and know, it works fine with the effects enabled.

Should I create another bug report for this ?


FYI :

Distribution : Gentoo

uname -a
Linux naboo 2.6.30-rc8 #8 SMP Wed Jun 3 15:37:48 CEST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

pkg-config --modversion libdrm
2.4.11

OpenGL renderer string: Mesa DRI Intel(R) 965GM GEM 20090418 2009Q1           
OpenGL version string: 2.0 Mesa 7.4.2

X.Org X Server 1.6.1.901 (1.6.2 RC 1)
Release Date: 2009-5-8

(II) Module intel: vendor="X.Org Foundation"
        compiled for 1.6.1.901, module version = 2.7.1

LVDS connected 1920x1200+0+0 (normal left inverted right x axis y axis) 331mm x
207mm
   1920x1200      60.0*+   60.0     58.9
Comment 5 Gordon Jin 2009-06-09 14:37:31 UTC
(In reply to comment #4)
> Ok, still in th same area, I got an X server crash with that message :
> Mesa 7.4.2 implementation error: invalid reference to a deleted texture object
> Please report at bugzilla.freedesktop.org
> X: main/texobj.c:305: _mesa_reference_texobj: Assertion
> `valid_texture_object(oldTex)' failed.
> I was changing some kde eye-candy effects. the server restarted and know, it
> works fine with the effects enabled.
> Should I create another bug report for this ?

Yes, please file a separate bug report, as this shows a mesa error.

And I'd close this one if you don't pursue for EXA (which has been removed from master branch).

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.