Bug 203041 - S-c-d generates index out-of-bounds on dual head attempt
Summary: S-c-d generates index out-of-bounds on dual head attempt
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: system-config-display
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Adam Jackson
QA Contact:
URL:
Whiteboard:
: 217412 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-08-17 22:30 UTC by G.Wolfe Woodbury
Modified: 2008-03-27 16:39 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-03-27 16:39:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description G.Wolfe Woodbury 2006-08-17 22:30:32 UTC
Description of problem:
Attempting to generate a dual-head configuration, the s-c-d program
generates an index out-of-boinds error.


Version-Release number of selected component (if applicable):
system-config-display-1.0.41-1.noarch

How reproducible:
always


Steps to Reproduce:
1. install rawhide of 2006-08-17
2. run s-c-d from root terminal
3. configure a dual head configuration and hit ok
  
Actual results:
the terminal shows:
>[root@work1 ~]# system-config-display
>Traceback (most recent call last):
>  File "/usr/share/system-config-display/xConfigDialog.py", line 151, in ok
>    second_monitor = self.xconfig.monitor[1]
>IndexError: index out-of-bounds
>[root@work1 ~]#


Expected results:
a working dual-head configuration

Additional info:
vid0: Trident Cyberblade/i1 - Compaq S710 monitor
vid1: ATI (Mach64) - Pionex monitor
Celeron(Coppermine) @ 600MHz  VIA Chipset 256MB RAM etc...

Comment 1 G.Wolfe Woodbury 2006-08-28 04:35:36 UTC
Still present in 1.0.42-1 of rawhide 2006-08-27.
Exact same behaviour and error message. (including line numbers)


Comment 2 David Chambers 2006-09-28 13:38:44 UTC
Also present in 1.0.45-1 (tested 2006-09-27):

If s-c-d is run with no xorg.conf present, I get the error above when trying to
configure dual head:

>Traceback (most recent call last):
>  File "/usr/share/system-config-display/xConfigDialog.py", line 151, in ok
>    second_monitor = self.xconfig.monitor[1]
>IndexError: index out-of-bounds


When s-c-d is used on a working dual-head config:

>Traceback (most recent call last):
>  File "/usr/share/system-config-display/xConfigDialog.py", line 186, in ok
>    display_option = second_screen.display[0]
>IndexError: index out-of-bounds

In addition, s-c-d incorrectly reports current resolution in the "Settings" tab
(I have it set to 1600x1200, s-c-d reports 800x600) - but this is probably
because it does not autodetect my monitors(s) [Samsung SyncMaster 214T]


Comment 3 Adam Jackson 2007-03-26 21:44:42 UTC
*** Bug 217412 has been marked as a duplicate of this bug. ***

Comment 4 Charles R. Anderson 2007-04-16 19:37:20 UTC
Still exists in F7 devel, system-config-display-1.0.51-1.fc7.

On the "Dual head" tab, if I click "Use dual head" and leave Monitor Type at "No
monitor selected" and click OK I get this error on the terminal where I started
s-c-display, and the dialog box doesn't close:

  File "/usr/share/system-config-display/xConfigDialog.py", line 152, in ok
    second_monitor = self.xconfig.monitor[1]
IndexError: index out-of-bounds

If I then select "Configure..." and choose "Generic LCD Display" and "LCD Panel
1600x1200" and then click OK on the main Display Settings dialog box, I get this
error, and again the dialog box doesn't close:

Traceback (most recent call last):
  File "/usr/share/system-config-display/xConfigDialog.py", line 137, in ok
    lower_vrefresh, upper_vrefresh =
string.split(str(self.second_monitor_vrefresh), "-")
ValueError: need more than 1 value to unpack

My Settings tab:

Resolution: 1600x1200
Color Depth: Millions of Colors

My Hardware tab:

Monitor Type: (autoconfigured)
Video Card: ATI Technologies Inc RV380 [Radeon X600]

My Dual head tab:

[x] Use dual head

Second Monitor Type: LCD Panel 1600x1200
Second Video CArd: ATI Technologies Inc RV380 [Radeon X600 (PCIE)]
Resolution: 1600x1200
Color Depth: Millions of Colors
Desktop layout: Individual Desktops, or Spanning Desktops

I have two Dell 2001FP monitors connected via DVI ports to the dual-port Radeon
X600.


Comment 5 Charles R. Anderson 2007-04-16 19:47:08 UTC
Update: I deleted my /etc/X11/xorg.conf, restarted s-c-display, chose "Show all
available monitors", manually selected "Dell 2001FP (Digital)" and the problem
went away and I got this config file:

# Xorg configuration created by system-config-display

Section "ServerLayout"
        Identifier     "Multihead layout"
        Screen      0  "Screen0" LeftOf "Screen1"
        Screen      1  "Screen1" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option      "Xinerama" "on"
        Option      "Clone" "off"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 2001FP (Digital)"
        HorizSync    31.0 - 80.0
        VertRefresh  56.0 - 76.0
        Option      "dpms"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "radeon"
EndSection

Section "Device"
        Identifier  "Videocard1"
        Driver      "radeon"
        VendorName  "Videocard Vendor"
        BoardName   "ATI Technologies Inc RV380 [Radeon X600 (PCIE)]"
        BusID       "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Videocard1"
        Monitor    "Monitor1"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1600x1200"
        EndSubSection
EndSection


Comment 6 Charles R. Anderson 2007-04-16 20:07:35 UTC
That config doesn't work since the BusID was specified incorrectly:

Section "Device"
        Identifier  "Videocard0"
        Driver      "radeon"
EndSection

Section "Device"
        Identifier  "Videocard1"
        Driver      "radeon"
        VendorName  "Videocard Vendor"
        BoardName   "ATI Technologies Inc RV380 [Radeon X600 (PCIE)]"
        BusID       "PCI:1:0:0"
EndSection

I got an error in the log, and the X server started in single-head, clone mode:

(WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) found

The second Device section should have been configured with:

        BusID       "PCI:1:0:1"

This is my lspci output:

01:00.0 VGA compatible controller: ATI Technologies Inc RV380 [Radeon X600 (PCIE)]
01:00.1 Display controller: ATI Technologies Inc RV380 [Radeon X600]

So I went back into s-c-display, and it defaulted back to some strange
resolution and monitor settings:

Settings:
Resolution: 800x600

Hardware:
Monitor Type: Unknown monitor

Dual head:
Second Monitor Type: No monitor selected
Resolution: 800x600

I went in to fix the monitor types again, and then changed the device for the
Second Video Card to "ATI Technologies Inc RV380 [Radeon X600]" (notice that the
description doesn't have the "(PCIE)" appended to it--this matches the second
BusID in my lspci output above).  Now it lets me select "1600x1200" on the
Settings tab, but the Dual head tab still only lets me choose "640x480" or
"800x600".

Now my /etc/X11/xorg.conf looks like this:

# Xorg configuration created by system-config-display

Section "ServerLayout"
        Identifier     "Multihead layout"
        Screen      0  "Screen0" LeftOf "Screen1"
        Screen      1  "Screen1" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option      "Xinerama" "on"
        Option      "Clone" "off"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 2001FP (Digital)"
        HorizSync    31.0 - 80.0
        VertRefresh  56.0 - 76.0
        Option      "dpms"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 2001FP (Digital)"
        HorizSync    31.0 - 80.0
        VertRefresh  56.0 - 76.0
        Option      "dpms"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "radeon"
EndSection

Section "Device"
        Identifier  "Videocard1"
        Driver      "radeon"
        VendorName  "Videocard Vendor"
        BoardName   "ATI Technologies Inc RV380 [Radeon X600]"
        BusID       "PCI:1:0:1"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1600x1200" "1600x1024" "1440x900" "1400x1050"
"1360x768" "1280x1024" "1280x960" "1280x800" "1280x720" "1152x864" "1024x768"
"800x600" "640x480"
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Videocard1"
        Monitor    "Monitor1"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "800x600"
        EndSubSection
EndSection

Why are there two Monitor sections with an Identifier of "Monitor1"?  Something
is rotten in Denmark...


Comment 7 G.Wolfe Woodbury 2008-03-27 16:39:52 UTC
no activity in a year, RAWHIDE seems to work, closing bug


Note You need to log in before you can comment on or make changes to this bug.