Bug 439046 - segmentation fault in Xorg on Radeon HD 2600
Summary: segmentation fault in Xorg on Radeon HD 2600
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-radeonhd
Version: rawhide
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Hans Ulrich Niedermann
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-03-26 17:41 UTC by Dominik 'Rathann' Mierzejewski
Modified: 2008-05-13 15:21 UTC (History)
2 users (show)

Fixed In Version: 1.2.1-1.1.20080429git.fc9
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-05-13 15:21:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Xorg log (26.46 KB, text/plain)
2008-03-26 17:41 UTC, Dominik 'Rathann' Mierzejewski
no flags Details
Xorg log (26.65 KB, text/plain)
2008-04-17 14:42 UTC, Dominik 'Rathann' Mierzejewski
no flags Details
xorg.conf (1.00 KB, text/plain)
2008-04-17 14:43 UTC, Dominik 'Rathann' Mierzejewski
no flags Details


Links
System ID Private Priority Status Summary Last Updated
FreeDesktop.org 15569 0 None None None Never

Description Dominik 'Rathann' Mierzejewski 2008-03-26 17:41:23 UTC
Description of problem:
Xorg segfaults when starting up. Full gdb backtrace below and Xorg.log attached.

Version-Release number of selected component (if applicable):
xorg-x11-server-Xorg-1.4.99.901-10.20080314.fc9.x86_64
xorg-x11-drv-radeonhd-1.1.0-0.7.20080301git.fc9.x86_64

How reproducible:
Always

Steps to Reproduce:
1. sed -i -e 's/radeon/radeonhd/' /etc/X11/xorg.conf
2. run X

Actual results:
Crashes.

Expected results:
Duh. Should work.

Additional info:
# gdb X
GNU gdb Fedora (6.7.50.20080227-3.fc9)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...
(gdb) run
Starting program: /usr/bin/X 
[Thread debugging using libthread_db enabled]

X.Org X Server 1.4.99.901 (1.5.0 RC 1)
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.18-53.1.6.el5xen x86_64 
Current Operating System: Linux monitoring-geo.icm.edu.pl
2.6.25-0.150.rc6.git7.fc9 #1 SMP Mon Mar 24 19:21:45 EDT 2008 x86_64
Build Date: 18 March 2008  03:31:44PM
Build ID: xorg-x11-server 1.4.99.901-10.20080314.fc9 
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Mar 26 19:39:55 2008
(==) Using config file: "/etc/X11/xorg.conf"
[New Thread 0x7fb911d7b780 (LWP 11585)]
[tcsetpgrp failed in terminal_inferior: Operation not permitted]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fb911d7b780 (LWP 11585)]
0x00007fb9126cc60b in memcpy () from /lib64/libc.so.6
(gdb) bt full
#0  0x00007fb9126cc60b in memcpy () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007fb910c97c2f in RHDVGASave (rhdPtr=0xa236a0) at
/usr/include/bits/string3.h:52
        pScrn = (ScrnInfoPtr) 0xa22f80
        VGA = (struct rhdVGA *) 0xa239e0
        __func__ = "RHDVGASave"
#2  0x00007fb910c8ab72 in rhdSave (rhdPtr=0xa236a0) at rhd_driver.c:1948
        pScrn = (ScrnInfoPtr) 0xa22f80
        __func__ = "rhdSave"
#3  0x00007fb910c8b578 in RHDScreenInit (scrnIndex=0, pScreen=0xa414e0,
argc=<value optimized out>, 
    argv=<value optimized out>) at rhd_driver.c:882
        pScrn = (ScrnInfoPtr) 0xa22f80
        rhdPtr = (RHDPtr) 0xa236a0
        visual = <value optimized out>
        __func__ = "RHDScreenInit"
#4  0x000000000042be49 in AddScreen (pfnInit=0x7fb910c8b390 <RHDScreenInit>,
argc=1, argv=0x7fff1c6fd618) at main.c:743
        i = 4153360
        scanlinepad = <value optimized out>
        depth = <value optimized out>
        bitsPerPixel = <value optimized out>
        k = <value optimized out>
        pScreen = (ScreenPtr) 0x7fb910437000
#5  0x0000000000462276 in InitOutput (pScreenInfo=0x7e0ca0, argc=1,
argv=0x7fff1c6fd618) at xf86Init.c:1051
        i = 0
        j = <value optimized out>
        k = <value optimized out>
        scr_index = 0
        modulelist = <value optimized out>
        optionlist = (pointer *) 0xa0fbb0
        layout = <value optimized out>
        screenpix24 = <value optimized out>
        pix24 = Pix24Use32
        pix24From = X_PROBED
        autoconfig = <value optimized out>
#6  0x000000000042c5e6 in main (argc=1, argv=0x7fff1c6fd618,
envp=0x7fff1c6fd628) at main.c:358
        i = 0
        error = 0
        xauthfile = <value optimized out>
        alwaysCheckForInput = {0, 1}
(gdb) q
The program is running.  Exit anyway? (y or n) y

Comment 1 Dominik 'Rathann' Mierzejewski 2008-03-26 17:41:23 UTC
Created attachment 299198 [details]
Xorg log

Comment 2 Hans Ulrich Niedermann 2008-04-08 16:08:13 UTC
Lots of changes have happened since that snapshot. Does the problem still occur
with the xorg-x11-drv-radeonhd-1.1.0-0.7.20080404git.fc9 package?


Comment 3 Dominik 'Rathann' Mierzejewski 2008-04-11 12:17:24 UTC
Yes, it still crashes. I won't be able to provide a new backtrace before Monday,
though.

Comment 4 Hans Ulrich Niedermann 2008-04-11 22:07:18 UTC
As a matter of fact, we now have xorg-x11-drv-radeonhd-1.2.0-2 in rawhide, so it
would probably be best if you could test that instead of the 20080404 snapshot.

Thanks a lot for your help. I personally run radeonhd on a R500 (X1400) on
rawhide and cannot produce segfaults.


Comment 5 Dominik 'Rathann' Mierzejewski 2008-04-17 14:42:43 UTC
Created attachment 302756 [details]
Xorg log

Comment 6 Dominik 'Rathann' Mierzejewski 2008-04-17 14:43:12 UTC
Created attachment 302757 [details]
xorg.conf

Comment 7 Dominik 'Rathann' Mierzejewski 2008-04-17 14:43:47 UTC
Testing with:
xorg-x11-server-Xorg-1.4.99.901-22.20080415.fc9.x86_64
xorg-x11-drv-radeonhd-1.2.0-2.fc9.x86_64

X.Org X Server 1.4.99.901 (1.5.0 RC 1)
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.18-53.1.14.el5xen x86_64 
Current Operating System: Linux monitoring-geo.icm.edu.pl
2.6.25-0.150.rc6.git7.fc9 #1 SMP Mon Mar 24 19:21:45 EDT 2008 x86_64
Build Date: 14 April 2008  11:48:57PM
Build ID: xorg-x11-server 1.4.99.901-22.20080415.fc9 
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Apr 17 18:39:29 2008
(==) Using config file: "/etc/X11/xorg.conf"
[tcsetpgrp failed in terminal_inferior: Operation not permitted]
[New Thread 0x7f6a1d5cd780 (LWP 3376)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f6a1d5cd780 (LWP 3376)]
0x00000000019a992b in memcpy () from /lib64/libc.so.6
#0  0x00000000019a992b in memcpy () from /lib64/libc.so.6
#1  0x00007f6a1c3b883f in RHDVGASave (rhdPtr=0x7f6a1d507c80) at
/usr/include/bits/string3.h:52
#2  0x00007f6a1c3a9f52 in rhdSave (rhdPtr=0x7f6a1d507c80) at rhd_driver.c:2014
#3  0x00007f6a1c3aab38 in RHDScreenInit (scrnIndex=0, pScreen=0x7f6a1d524cd0,
argc=<value optimized out>, 
    argv=<value optimized out>) at rhd_driver.c:939
#4  0x000000000042bf09 in AddScreen (pfnInit=0x7f6a1c3aa950 <RHDScreenInit>,
argc=1, argv=0x7fff25eaf5f8) at main.c:743
#5  0x0000000000462336 in InitOutput (pScreenInfo=0x7dfca0, argc=1,
argv=0x7fff25eaf5f8) at xf86Init.c:1051
#6  0x000000000042c6a6 in main (argc=1, argv=0x7fff25eaf5f8,
envp=0x7fff25eaf608) at main.c:358

Xorg.0.log and xorg.conf attached


Comment 8 Dominik 'Rathann' Mierzejewski 2008-04-17 14:46:17 UTC
xorg-x11-drv-radeonhd-1.2.1-1.fc9.x86_64 crashes in the same place:

[...]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f6f09b2d780 (LWP 3865)]
0x00007f6f0a47c92b in memcpy () from /lib64/libc.so.6
#0  0x00007f6f0a47c92b in memcpy () from /lib64/libc.so.6
#1  0x00007f6f08a1889f in RHDVGASave (rhdPtr=0x11f6c80) at
/usr/include/bits/string3.h:52
#2  0x00007f6f08a09f52 in rhdSave (rhdPtr=0x11f6c80) at rhd_driver.c:2014
#3  0x00007f6f08a0ab38 in RHDScreenInit (scrnIndex=0, pScreen=0x1213cd0,
argc=<value optimized out>, 
    argv=<value optimized out>) at rhd_driver.c:939
#4  0x000000000042bf09 in AddScreen (pfnInit=0x7f6f08a0a950 <RHDScreenInit>,
argc=1, argv=0x7fff13e25a08) at main.c:743
#5  0x0000000000462336 in InitOutput (pScreenInfo=0x7dfca0, argc=1,
argv=0x7fff13e25a08) at xf86Init.c:1051
#6  0x000000000042c6a6 in main (argc=1, argv=0x7fff13e25a08,
envp=0x7fff13e25a18) at main.c:358


Comment 9 Hans Ulrich Niedermann 2008-04-18 00:40:16 UTC
Reported upstream as http://bugs.freedesktop.org/show_bug.cgi?id=15569 so they
don't forget it.

I cannot reproduce that segfault on my hardware (different GPU X1400, different
CPU arch i386).

Comment 10 Hans Ulrich Niedermann 2008-04-30 00:07:17 UTC
Snapshot RPM containing Egbert's fix to appear soon at
http://koji.fedoraproject.org/koji/packageinfo?packageID=5156


Comment 11 Fedora Update System 2008-04-30 01:02:07 UTC
xorg-x11-drv-radeonhd-1.2.1-1.1.20080429git.fc9 has been submitted as an update for Fedora 9

Comment 12 Dominik 'Rathann' Mierzejewski 2008-04-30 11:27:28 UTC
This seems to have fixed the segfault, thanks a lot. Now the driver only
complains about the problem, but doesn't crash:
(EE) RADEONHD(0): RHDVGASave: VGA FB Offset (0xE0000000) is out of range of the
Cards Internal FB Address (0xD0000000)


Comment 13 Fedora Update System 2008-05-13 15:21:27 UTC
xorg-x11-drv-radeonhd-1.2.1-1.1.20080429git.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.


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