Bug 17851

Summary: [G45 EXA] Stuck in infinite loop after enabling compositing manager
Product: xorg Reporter: Sven Arvidsson <sa>
Component: Driver/intelAssignee: Wang Zhenyu <zhenyu.z.wang>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: high CC: andre.bugs2
Version: 7.4 (2008.09)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 16926    
Attachments:
Description Flags
log file from hang
none
backtrace from hang
none
X log using drm/mesa master
none
dmesg output after hang
none
Backtrace from hang using drm/mesa master
none
Hang using drm/xf86-video-intel from git none

Description Sven Arvidsson 2008-09-30 13:04:46 UTC
Bug description:
As mentioned in bug 17460, after I enable a compositing manager, the X server stops responding. This doesn't happen when XAA is used.

The screen stops redrawing, but I can still move the mouse cursor. The system doesn't lock up as I can still log in remotely. 

System environment:
-- chipset: G45 / ICH10R
-- system architecture: 32-bit
-- xf86-video-intel: 11d304e99c0e11c28901ec28115d9c8b81a2b9cc
-- xserver: 1.5.1
-- mesa: 7.2
-- drm: libdrm 073cb5ee1d12a7f1a18b7d732f346c16eb740f49
-- kernel: 2.6.26.4
-- Linux distribution: Debian unstable
-- Machine or mobo model: Asus P5Q-EM
-- Display connector: DVI

I'm using 2x2GB RAM in a dual channel configuration, clocked at 800MHz.

Reproducing steps:
Enable a compositing manager, in my case the Xrender based compositor in Metacity.

Additional info:
I get a similar behaviour after playing a movie using textured video, but I'm not entirely sure it's the same bug as I haven't got a backtrace for this yet.
Comment 1 Sven Arvidsson 2008-09-30 13:05:25 UTC
Created attachment 19315 [details]
log file from hang
Comment 2 Sven Arvidsson 2008-09-30 13:05:42 UTC
Created attachment 19316 [details]
backtrace from hang
Comment 3 Sven Arvidsson 2008-09-30 17:51:26 UTC
I don't know if it's relevant to the bug, but:

Using EXANoComposite, I have the same problem, a hang with both compositing manager and with video.

Using NoAccel, compositing works.
Comment 4 Wang Zhenyu 2008-10-05 19:32:32 UTC
I've met with render stall issue, but it seems to be fixed now. Could you try lastest drm/mesa (or intel-2008-q3 branch of mesa)?
Comment 5 Sven Arvidsson 2008-10-06 11:36:17 UTC
Created attachment 19414 [details]
X log using drm/mesa master

I'm now using:
 drm master 728d8e226f1bc12f50f710cc96bbb2a25f72ada3
 mesa master 6e34fc0d374263ca40855ba4dcc237d961a79e34
 xf86-video-intel master 21cce1998a10db520c390eb5061814867564c583

It hangs at the same time (as soon as I enable the compositing manager) but the behaviour is different. Now I can't get a backtrace from gdb. I tried to work around this by starting X with -keeptty -dumbSched but it didn't work.

The X log now gave this error:
 Fatal server error:
 Failure to wait for IRQ: Device or resource busy
Comment 6 Wang Zhenyu 2008-10-07 01:21:44 UTC
What's the kernel version you're using? anything in dmesg?

I've tested 2.6.26 and 27-rc8 today on our QA's G45 board, compiz works fine on it.

Comment 7 Sven Arvidsson 2008-10-07 10:44:14 UTC
Created attachment 19450 [details]
dmesg output after hang

I'm using kernel 2.6.26.4. 

I'm attaching the full output of dmesg, but I guess this is the interesting part:
[  171.447058] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 18774 emitted: 18777
[  174.655925] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 18774 emitted: 18778
[  177.802611] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 18774 emitted: 18778
[  232.313102] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 18774 emitted: 18778
[  236.495326] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 18774 emitted: 18778
[  240.620927] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 18774 emitted: 18778

I also managed to get a backtrace by attaching to the Xorg process before the hang.

The log file seems to be identical to the one I previously posted, except for the last line:
intel_bufmgr_fake.c:387: Error waiting for fence: Device or resource busy.
Comment 8 Sven Arvidsson 2008-10-07 10:45:28 UTC
Created attachment 19451 [details]
Backtrace from hang using drm/mesa master
Comment 9 Sven Arvidsson 2008-10-07 15:11:47 UTC
I tried kernel 2.6.27-rc7 now, the results are the same.

Another way to trigger the bug is to play a movie using textured video as the output.
Comment 10 Wang Zhenyu 2008-10-09 19:25:55 UTC
Hopefully current upstream has fixed this issue, please try current drm/xf86-video-intel
Comment 11 Sven Arvidsson 2008-10-10 13:47:12 UTC
Created attachment 19579 [details]
Hang using drm/xf86-video-intel from git

Unfortunately no, it still hangs at the same point.

I'm now using 
libdrm cdd3e9fc562bd57e0272e4c4d1c0707776bd01a1
xf86-video-intel 140451abb41fbd68d5aac4736c1cf1ec2805dd9e

dmesg:
[  741.536414] [drm] Initialized i915 1.6.0 20060119 on minor 0
[  741.536414] [drm:i915_getparam] *ERROR* Unknown parameter 5
[  741.616562] mtrr: type mismatch for d0000000,10000000 old: write-back new: write-combining
[  742.124286] set status page addr 0x02ff0000
[  742.464791] [drm:i915_getparam] *ERROR* Unknown parameter 5
[  905.306288] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 43709 emitted: 43712
[  934.602033] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 43709 emitted: 43713
[  938.171241] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 43709 emitted: 43713
[  941.496938] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 43709 emitted: 43713
[  944.982548] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 43709 emitted: 43713
[  948.358248] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 43709 emitted: 43713

Xorg.0.log:
Fatal server error:
Failure to wait for IRQ: Device or resource busy
intel_bufmgr_fake.c:392: Error waiting for fence: Device or resource busy.

I'm also attaching the backtrace from the crash, but I don't think it's different from the last.

Just so I haven't misunderstood anything, I don't have to build the drm kernel module from git?
Comment 12 Wang Zhenyu 2008-10-11 08:39:34 UTC
maybe you've seen the same as Keith. yeah, you shouldn't build linux-core in drm git from now on, upstream kernel is enough.
Comment 13 Michael Fu 2008-10-13 21:36:19 UTC

*** This bug has been marked as a duplicate of bug 17703 ***

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.