Bug 15052

Summary: [i845G] frequent ring buffer lockups
Product: xorg Reporter: Oswald Buddenhagen <ossi>
Component: Driver/intelAssignee: Wang Zhenyu <zhenyu.z.wang>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 15000    
Attachments:
Description Flags
x server log
none
log with working driver
none
log with bad driver none

Description Oswald Buddenhagen 2008-03-16 01:22:57 UTC
Created attachment 15174 [details]
x server log

i guess the recent tinkering with the ring buffer had some side effects ... :}

this happens from time to time when switching vts, but is pretty much always reproducible when starting a second x server.
Comment 1 Michael Fu 2008-03-16 19:18:57 UTC
please refer to http://www.intellinuxgraphics.org/how_to_report_bug.html on what we usually need for a bug report. Would you add more details accordingly? thanks.
Comment 2 Wang Zhenyu 2008-03-17 01:53:15 UTC
How about revert  c20d78a7bc ? might be some kind of regression.
Comment 3 Gordon Jin 2008-03-18 18:43:01 UTC
Zhenyu will fix it.
Comment 4 Wang Zhenyu 2008-03-21 02:09:05 UTC
I have met some weird thing on 845G actually.

Debian sid xorg-7.3 with intel 2.2.1 driver seems fine. But it looks master branch couldn't give me stable result, and gave me random hangs. Try Eric's advice to change MI_8BIT_A8 to MI_8BIT_I8 or revert Eric's workaround patch still crashed sometime. 

Could you try that too? As I can't 100% reproduce the crash, I don't know if I might do sth wrong. Pls help to test, thanks. 

Comment 5 Wang Zhenyu 2008-03-26 22:53:22 UTC
My current test is xserver-1.4 with current intel master works fine on 845G here, but xserver master will crash it. I haven't tested xserver-1.5 yet.
Comment 6 Oswald Buddenhagen 2008-03-27 07:22:06 UTC
ok, had some questionable fun with git now. the commit to blame is 750beb9232b... Refactor memory allocation into a separate function.
xserver is at master.
Comment 7 Wang Zhenyu 2008-03-28 00:01:44 UTC
This is weird, as that patch doesn't change what origin memory allocation code does, but just cleanups. Are you sure that patch is culprit? how about revert Eric's workaround patch?
Comment 8 Oswald Buddenhagen 2008-03-28 00:14:20 UTC
i tried twice, so yes, i'm fairly sure. it wouldn't be the first cleanup ever that went awry ...
given that it's really reproducible only with two servers and that the buffer size pretty obviously overflows, an allocation problem doesn't seem all that unlikely.
Comment 9 Wang Zhenyu 2008-03-28 01:55:36 UTC
ok, I'll try it later.

So you mean in single xserver, current intel driver and xserver master can work ok? Crash only happen in multi-head X?
Comment 10 Oswald Buddenhagen 2008-03-28 12:04:26 UTC
X :1 inside an x session on :0 doesn't exactly qualify as multi-head, if you ask me ... whatever - *seems* about correct.
Comment 11 Wang Zhenyu 2008-04-21 02:15:32 UTC
Just tried again, and it seems if disable "Tiling", then it works fine. I believe there's some issue in our driver to handle tiled front buffer for older chipset.
Comment 12 Wang Zhenyu 2008-04-22 01:12:38 UTC
(In reply to comment #6)
> ok, had some questionable fun with git now. the commit to blame is
> 750beb9232b... Refactor memory allocation into a separate function.
> xserver is at master.
> 

Oswald, that commit is not culprit, but it changed allocation behavior indeed.
Original if no DRI enabled, we won't try to fit front buffer to tiled surface, and normally depends on your screen size you got untiled front buffer. (Could you paste your log in working case?) You may try to see in DRI enable case.

And now we will try tiled allocation even without DRI, as exa can support tiled front buffer now. So in this case tiling front buffer on 845G seems not work, I don't know the reason yet, and it seems broken on older releases too.
Comment 13 Oswald Buddenhagen 2008-04-26 04:05:12 UTC
Created attachment 16191 [details]
log with working driver

here's the requested log with the old driver and no dri.
now i'll try the new one wiht dri ...
Comment 14 Oswald Buddenhagen 2008-04-26 04:38:11 UTC
Created attachment 16192 [details]
log with bad driver

here's the log with the current driver and dri enabled.
the bad news is:
- it still crashes
- glxgears exposes some z-ordering problems (or something to that effect)
- basic 2d is *yet* slower
the good news is:
- ... actually, there is none. :(
i should note that i did not upgrade the x server or any other part of x, as it didn't compile at an early point.
Comment 15 Oswald Buddenhagen 2008-05-08 15:54:50 UTC
cannot reproduce any more. maybe bug 15807 was a dupe, in fact. no idea.

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.