Bug 12961

Summary: x11perf -rect500 hangs Xorg on "ATI Radeon X300 (RV370)"
Product: xorg Reporter: Vedran Rodic <vrodic>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: ejsheldrake
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
server log file
none
server configuration file none

Description Vedran Rodic 2007-10-26 10:08:42 UTC
Running x11perf -rect500 causes Xorg to hang, using 100% CPU time, and unkillable on the ATI Radeon X300 (RV370) graphics card. OS tested is Debian unstable, running kernel 2.6.22.

The bug is reproducible almost every time during the first run of x11perf -rect500, but if not the first time, running it the second time will most probably lock it. In other words, there was no occasion where I wasn't able to reproduce the bug by running the command one or two times. 

The bug is also reproducible on debian stock 1.3.0 Xorg server (version 2:1.3.0.0.dfsg-12). 

Running x11perf -rect100 doesn't lockup Xorg. 

xorg.conf and xorg.log of the session attached
Comment 1 Vedran Rodic 2007-10-26 10:09:22 UTC
Created attachment 12220 [details]
server log file
Comment 2 Vedran Rodic 2007-10-26 10:09:52 UTC
Created attachment 12221 [details]
server configuration file
Comment 3 Michel Dänzer 2007-10-27 03:53:02 UTC
Does it also happen if you don't enable the DRI?

(Do you really have two monitors connected?)
Comment 4 Vedran Rodic 2007-10-27 04:22:22 UTC
If log says I have two monitors connected, X is confused because I don't. The card itself has one VGA and one DVI connector. 

I just tested remotely, when DRI is disabled, the bug doesn't happen.

A bit strange that lspci lists two entries for this card:
06:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)]
06:00.1 Display controller: ATI Technologies Inc RV370 [Radeon X300SE]

This computer has a card integrated on the board, but I guess it's disabled and it can't be be a X300SE since that is a discrete graphics card. I'm unable to check the type of the integrated card right now since I'm not physically near the computer, but will check on monday.
Comment 5 Alex Deucher 2007-10-27 07:16:57 UTC
(In reply to comment #4)
> If log says I have two monitors connected, X is confused because I don't. The
> card itself has one VGA and one DVI connector. 
> 

I'm guessing the DVI FP_DETECT bit is always pulled high on your card.  I suppose we should probably disable that check because it seems to be pretty unreliable.  you can always force the DVI port off at runtime or in your config.
Comment out lines 690-696 of radeon_output.c to remove the check if you want to check.

> 
> A bit strange that lspci lists two entries for this card:
> 06:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300
> (PCIE)]
> 06:00.1 Display controller: ATI Technologies Inc RV370 [Radeon X300SE]

you can ignore the .1 id.  It's just a place holder for windows drivers.
Comment 6 Michel Dänzer 2007-10-27 09:24:01 UTC
Does it also happen with the DRI enabled but the incorrectly detected output disabled?
Comment 7 Vedran Rodic 2007-10-29 04:34:58 UTC
xrandr output shows DVI-0 as enabled and the mode 1024x768@Hz set by default.

The first line specifying output is:
DVI-0 unknown connection 1024x768+0+0 (normal left inverted right x axis y axis)

If I disable the output with xrandr --output DVI-0 --off, the lockup still happens.

If I comment out the code that Alex mentioned, the xrandr output is the same, and mode 1024x768@60Hz is enabled on it. 
Comment 8 Michel Dänzer 2007-10-29 04:59:13 UTC
Okay, so it seems strictly DRI related. The DRI does seem unstable on some PCIe cards for some reason...

I suppose it happens with Option "AccelMethod" "EXA" as well?
Comment 9 Vedran Rodic 2007-10-29 06:08:52 UTC
(In reply to comment #8)
> Okay, so it seems strictly DRI related. The DRI does seem unstable on some PCIe
> cards for some reason...
> 
> I suppose it happens with Option "AccelMethod" "EXA" as well?
> 

EXA, NO DRI: Works fine
EXA, WITH DRI: hangs
Comment 10 Benjamin Close 2008-01-11 02:39:15 UTC
Bugzilla Upgrade Mass Bug Change

NEEDSINFO state was removed in Bugzilla 3.x, reopening any bugs previously listed as NEEDSINFO.

  - benjsc
    fd.o Wrangler
Comment 11 Edward Sheldrake 2008-01-13 02:16:08 UTC
I'm also seeing this bug on a radeon 9550 AGP (RV350). It only happens when XAA is used, keeping DRI enabled and switching to EXA, the test works fine. Running X server 1.4, vanilla kernel 2.6.23.

When the test hangs X, the mouse cursor can still be moved but there is no response to the keyboard.
Comment 12 Michel Dänzer 2008-01-14 00:10:25 UTC
(In reply to comment #11)
> I'm also seeing this bug on a radeon 9550 AGP (RV350).

Does it still happen with Option "BusType" "PCI" or different values for Option "AGPMode"?
Comment 13 Edward Sheldrake 2008-01-14 01:26:21 UTC
"BusType" "PCI" - hang after first round of testing
"AGPMode" "1" - hang after first round of testing
"AGPMode" "2" - test completes normally
"AGPMode" "4" - hang, this time screen went blank with "input signal out of range" message

SiS 650 chipset motherboard, 4X maximum AGP rate.
Comment 14 Michel Dänzer 2008-01-14 01:30:06 UTC
(In reply to comment #13)
> "AGPMode" "2" - test completes normally

What AGP transfer mode is selected in the BIOS setup?
Comment 15 Edward Sheldrake 2008-01-14 04:53:18 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > "AGPMode" "2" - test completes normally
> 
> What AGP transfer mode is selected in the BIOS setup?
> 

There is no AGP transfer rate setting in my BIOS. Only AGP aperture size set to 128MB, and also "AGP Auto Calibration" which was set to "Enabled". I tried setting it to disabled, but "x11perf -rect500" still hung using 4X AGP so I set it back to enabled.
Comment 16 Alex Deucher 2008-12-03 00:36:30 UTC
if this is till an issue with the ati driver from git let me know and I'll add a quirk for your gpu/chipset combo.
Comment 17 Edward Sheldrake 2008-12-03 03:52:13 UTC
(In reply to comment #16)
> if this is till an issue with the ati driver from git let me know and I'll add
> a quirk for your gpu/chipset combo.
> 

I had no problems under Fedora 10, with
kernel-2.6.27.5-117.fc10.i686
xorg-x11-server-Xorg-1.5.3-5.fc10.i386
libdrm-2.4.0-0.21.fc10.i386

and today's git of xf86-video-ati, "x11perf -rect500" ran successfully with all settings of bustype PCI or AGP 1/2/4, and EXA/XAA.
Comment 18 Alex Deucher 2008-12-03 07:27:31 UTC
Sounds like it's working then.

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.