Bug 60180

Summary: R200 segfault at startx
Product: xorg Reporter: progman3k
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: NEW --- QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: PowerPC   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description progman3k 2013-02-02 01:41:33 UTC
xorg-server-1.13.1
xf86-video-ati-7.0.0-r1
Linux 3.2.1-gentoo-r2 ppc 7447A, altivec supported PowerMac10,1 GNU/Linux

0000:00:10.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200] (rev 01)
	Subsystem: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200]
	Kernel driver in use: radeon

[   236.383] (II) [KMS] Kernel modesetting enabled.
[   236.383] (EE) 
[   236.384] (EE) Backtrace:
[   236.384] (EE) 0: X (xorg_backtrace+0x50) [0x1015e9f0]
[   236.384] (EE) 1: X (0x10000000+0x162638) [0x10162638]
[   236.384] (EE) 2: linux-vdso32.so.1 (__kernel_sigtramp_rt32+0x0) [0x100350]
[   236.384] (EE) 3: /usr/lib/xorg/modules/drivers/radeon_drv.so (0xf910000+0x2f614) [0xf93f614]
[   236.384] (EE) 4: X (DoConfigure+0xa90) [0x1005f1cc]
[   236.385] (EE) 5: X (InitOutput+0x1e8) [0x1006c6c4]
[   236.385] (EE) 6: X (0x10000000+0x1e888) [0x1001e888]
[   236.385] (EE) 7: /lib/libc.so.6 (0xfaee000+0x23410) [0xfb11410]
[   236.385] (EE) 8: /lib/libc.so.6 (0xfaee000+0x235a0) [0xfb115a0]
[   236.385] (EE) 
[   236.385] (EE) Segmentation fault at address 0x14
Comment 1 Alex Deucher 2013-02-02 14:34:40 UTC
Can you install the debugging packages and get a proper backtrace with gdb:
http://wiki.x.org/wiki/Development/Documentation/ServerDebugging
Also please attach your full xorg log and dmesg output.
Comment 2 progman3k 2013-02-03 02:44:49 UTC
dmesg:
http://gentoo.pastebin.ca/2310183

Xorg -configure run:
Xorg.0.log
http://gentoo.pastebin.ca/2310182

build log:
http://gentoo.pastebin.ca/2310188
Comment 3 progman3k 2013-02-03 05:37:00 UTC
gdb /usr/bin/Xorg $(pidof X)
GNU gdb (Gentoo 7.5 p1) 7.5
This GDB was configured as "powerpc-unknown-linux-gnu".
Reading symbols from /usr/bin/Xorg...done.
(gdb) set args -configure
(gdb) run
Starting program: /usr/bin/Xorg -configure
warning: Could not load shared library symbols for linux-vdso32.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

X.Org X Server 1.13.1
Release Date: 2012-12-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.1-gentoo-r2 ppc Gentoo
Current Operating System: Linux tiny 3.2.1-gentoo-r2 #11 Fri Feb 1 16:18:12 EST 2013 ppc
Kernel command line: root=/dev/hda3 ro 
Build Date: 02 February 2013  11:57:27PM
 
Current version of pixman: 0.28.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
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: Sun Feb  3 00:30:23 2013
List of video drivers:
	radeon
	ati
(++) Using config file: "/root/xorg.conf.new"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.

Program received signal SIGSEGV, Segmentation fault.
0x0f9337cc in RADEONPreInit_KMS (pScrn=0x1036b7e8, flags=1) at /var/tmp/portage/x11-drivers/xf86-video-ati-7.0.0-r1/work/xf86-video-ati-7.0.0/src/radeon_kms.c:784
784	/var/tmp/portage/x11-drivers/xf86-video-ati-7.0.0-r1/work/xf86-video-ati-7.0.0/src/radeon_kms.c: No such file or directory.
(gdb) bt full
#0  0x0f9337cc in RADEONPreInit_KMS (pScrn=0x1036b7e8, flags=1) at /var/tmp/portage/x11-drivers/xf86-video-ati-7.0.0-r1/work/xf86-video-ati-7.0.0/src/radeon_kms.c:784
        info = 0x1036bc48
        pRADEONEnt = 0x1036b650
        pPriv = 0x1036b4c0
        zeros = {red = 0, green = 0, blue = 0}
        tiling = 0
        cpp = 0
#1  0x100a90e0 in DoConfigure () at /var/tmp/portage/x11-base/xorg-server-1.13.1/work/xorg-server-1.13.1/hw/xfree86/common/xf86Configure.c:729
        MonitorPtr = 0x0
        ScreenPtr = 0x0
        i = 0
        j = 0
        screennum = 1
        home = 0xbfadbe3d "/root"
        filename = "/root/xorg.conf.new", '\000' <repeats 553 times>"\277, \255\232\020\000\000\000\000\017\306\237\364\000\000\000\000\277\255\232\060", '\000' <repeats 15 times>, "d\277\255\237\310\017\306\237\364\020\060\021\210\277\255\232P\017\267\034\250\277\255\245h/sys/class/drm\000\364\277\255\232P\277\255\237\300\017\263\312h\000\000\000\000\000\000\000\000\277\255\232p\000\000\000\000\017\377b\254\000\000\000\000\277\255\236\260", '\000' <repeats 12 times>"\277, \255\232\240\000\000\000\000\277\255\241h\017\303\303,\277\255\232\260\000\000\000\001\277\255\241x\017\303\303,\000\000\000\000\000\000\000\001\017\306\237\364\277\255\240X\277\255\232\340\017\266\"\020\277\255\241h\017\356\372\071\277\255\232\340\277\255\240H\277\255\241x\017\356\372\071\277\255\232\340\277\255\240X\017\306\237\364\277\255\232\340\277\255\240P\017\263\312h\000\000\000\000F\000\002\"\373\255,\207\020\065\301\060\017\306\237\364\277\255\233\000\277\255\240p\017\263\314,\005\000\237\364\277\255\241\330\277\255\241h\000\000\000\000\005\000\000\000\277\255\241\350\277\255\241x", '\000' <repeats 15 times>, " \277\255\240\330\017\306\237\364\020\060\232\264\277\255\233`\017\267\034\250\277\255\246X\020\060\232\264\277\255\233p\277\255\240\330\277\255\242<\020\062Q\320\277\255\233p\277"...
        addslash = 0x102ff174 "/"
        xf86config = 0x10371e90
        vlist = 0x10365768
        vl = 0x10365770
        dev2screen = 0x1036b6b8
#2  0x100c3114 in InitOutput (pScreenInfo=0x1034f928 <screenInfo>, argc=2, argv=0xbfadab14)
    at /var/tmp/portage/x11-base/xorg-server-1.13.1/work/xorg-server-1.13.1/hw/xfree86/common/xf86Init.c:462
        i = 0
        j = 271831860
        k = 0
        scr_index = 1208047636
        modulelist = 0xfb60910 <fopen+40>
        optionlist = 0x668
        screenpix24 = (unknown: 268556996)
        pix24 = (unknown: 1208094688)
        pix24From = X_DEFAULT
        pix24Fail = 0
        autoconfig = 0
        sigio_blocked = 0
        configured_device = 0x0
#3  0x1001e7c4 in main (argc=2, argv=0xbfadab14, envp=0xbfadab20) at /var/tmp/portage/x11-base/xorg-server-1.13.1/work/xorg-server-1.13.1/dix/main.c:204
        i = 256
        alwaysCheckForInput = {0, 1}
(gdb)
Comment 4 Michel Dänzer 2013-02-04 09:58:43 UTC
(In reply to comment #3)
> Program received signal SIGSEGV, Segmentation fault.
> 0x0f9337cc in RADEONPreInit_KMS (pScrn=0x1036b7e8, flags=1) at
> /var/tmp/portage/x11-drivers/xf86-video-ati-7.0.0-r1/work/xf86-video-ati-7.0.
> 0/src/radeon_kms.c:784

AFAICT that's

    pScrn->monitor     = pScrn->confScreen->monitor;

Presumably pScrn->confScreen is NULL.

Does it work with no xorg.conf(.new) file?
Comment 5 progman3k 2013-02-04 14:20:24 UTC
If I delete /root/xorg.conf.new and run Xorg -configure again, it creates the file again and gives the same result.
Here is the file (/root/xorg.conf.new) it produces:
http://gentoo.pastebin.ca/2310626


With the startx command, things go differently:

I type startx at the console, the very first message it spits out is
xauth: file /root/.serverauth.2375 does not exist

then follows the output found in the /var/log/Xorg0.log file, ending in

[   131.627] (--) using VT number 7

[   131.683] (II) [KMS] Kernel modesetting enabled.
[   131.683] (EE) No devices detected.
[   131.683] 
Fatal server error:
[   131.683] no screens found
[   131.683] (EE) 

The console appends the following:

waiting for X server to begin accepting connections Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

Here is the /var/log/Xorg.0.log file for that session
http://gentoo.pastebin.ca/2310624
Comment 6 Michel Dänzer 2013-02-04 15:02:17 UTC
(In reply to comment #5)
> If I delete /root/xorg.conf.new and run Xorg -configure again, it creates
> the file again and gives the same result.

Not very surprising, is it? :) Any particular reason you want to create a xorg.conf file at all, let alone using Xorg -configure?


From the startx log file:

> [   120.944] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
> [   120.962] (==) No Layout section.  Using the first Screen section.
> [   120.962] (==) No screen section available. Using defaults.
> [   120.962] (**) |-->Screen "Default Screen Section" (0)
> [   120.962] (**) |   |-->Monitor "<default monitor>"
> [   120.980] (==) No monitor specified for screen "Default Screen Section".
> 	Using a default monitor configuration.

Looks like you have files in /usr/share/X11/xorg.conf.d/ which might be interfering.
Comment 7 progman3k 2013-02-04 15:45:24 UTC
> Not very surprising, is it? :) Any particular reason you want to create a xorg.conf file at all, let alone using Xorg -configure?

I did because using startx alone doesn't appear to work. If using the startx command gives no result, what are you supposed to do?

The previous revision of xorg-server (1.12.1) used to work without an xorg.conf, but once I upgraded to any version above it (1.12.4, 1.13.1 or 1.13.4), X no longer starts.

/usr/share/X11/xorg.conf.d/ contains one file, 10-evdev.conf
Here is its content:
http://gentoo.pastebin.ca/2310648
Comment 8 progman3k 2013-02-04 16:05:44 UTC
I renamed the file
/usr/share/X11/xorg.conf.d/10-evdev.conf
ran startx again, same result.

Here is the Xorg.0.log
http://gentoo.pastebin.ca/2310652
Comment 9 Michel Dänzer 2013-02-04 16:37:50 UTC
(In reply to comment #7)
> The previous revision of xorg-server (1.12.1) used to work without an
> xorg.conf, but once I upgraded to any version above it (1.12.4, 1.13.1 or
> 1.13.4), X no longer starts.

Can you try isolating which particular change between 1.12.1 and 1.12.4 stopped X from starting for you? Note that it could be a Gentoo specific change; e.g. your log file has some default configuration stuff that I don't remember seeing before.


P.S. Please attach files here instead of referencing external sites.
Comment 10 progman3k 2013-02-04 16:52:10 UTC
The problem is that xorg-server 1.12.1 (which worked) has been removed from portage (gentoo's software catalog) so I can't go back to it anymore.

I updated the system, skipping xorg-server but some updated librairies caused breakage and revdep-rebuild (gentoo's reverse dependancy breakage-resolver tool) detected and fixed a break by updating xorg-server.

So any version > xorg-server 1.12.1 has this same problem.

There was an issue on x86 and amd64; when upgrading from xorg-server 1.12.1, GDM would break because of (missing) old accessibility features but this doesn't appear to be the case here.

What other info can I provide?
Comment 11 Michel Dänzer 2013-02-04 16:57:33 UTC
You should take it up with the Gentoo folks to isolate what triggered the problem.
Comment 12 progman3k 2013-02-04 17:15:29 UTC
Done
https://bugs.gentoo.org/show_bug.cgi?id=455468

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.