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
Created attachment 299198 [details] Xorg log
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?
Yes, it still crashes. I won't be able to provide a new backtrace before Monday, though.
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.
Created attachment 302756 [details] Xorg log
Created attachment 302757 [details] xorg.conf
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
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
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).
Snapshot RPM containing Egbert's fix to appear soon at http://koji.fedoraproject.org/koji/packageinfo?packageID=5156
xorg-x11-drv-radeonhd-1.2.1-1.1.20080429git.fc9 has been submitted as an update for Fedora 9
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)
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.