Bug 13420

Summary: X crash, randr related
Product: xorg Reporter: Børre Gaup <boerre>
Component: Driver/radeonhdAssignee: Matthias Hopf <mat>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
This is the xorg.conf that I use
none
Original Xorg.0.log with the crash
none
Debugging output
none
Core file which is produced by gdb
none
Verify return value none

Description Børre Gaup 2007-11-28 05:21:22 UTC
X crashes at startup.
This was first reported https://bugs.freedesktop.org/show_bug.cgi?id=12907#c11
Comment 1 Børre Gaup 2007-11-28 05:23:41 UTC
Created attachment 12770 [details]
This is the xorg.conf that I use
Comment 2 Børre Gaup 2007-11-28 05:25:26 UTC
Created attachment 12772 [details]
Original Xorg.0.log with the crash
Comment 3 Børre Gaup 2007-11-28 05:25:58 UTC
Created attachment 12773 [details]
Debugging output
Comment 4 Børre Gaup 2007-11-28 05:26:59 UTC
Created attachment 12774 [details]
Core file which is produced by gdb
Comment 5 Matthias Hopf 2007-11-28 11:16:13 UTC
Hm. I don't see ATM how this can happen:

RHDRandrScreenInit() calls xf86CrtcScreenInit(), which

- calls xf86RandR12Init() first
- crashes in xf86RandR12SetRotations() with RR_Rotate_0.

It crashes because crtc->randr_crtc is NULL. They are created in xf86RandR12CreateObjects12(), called from xf86RandR12Init12(), called from xf86RandR12Init().

I only just noticed that in xf86CrtcScreenInit() the return value of xf86RandR12Init() isn't checked. RandR would be disabled in this case, but the server shouldn't crash.
Comment 6 Matthias Hopf 2007-11-28 11:18:03 UTC
Created attachment 12794 [details] [review]
Verify return value

This is a patch against the Xserver.
Could you please test whether the crash is gone with this patch? It won't enable RandR, we have to dig deeper for that, but the server should come up fine.
Comment 7 Matthias Hopf 2007-11-28 11:23:03 UTC
I have found the Bug:

You are enabling the Xinerama extension. This is known to not work well with RandR. Please nuke the option from your Serverflags section.
Comment 8 Matthias Hopf 2007-11-29 06:28:34 UTC
Comment on attachment 12794 [details] [review]
Verify return value

The patch doesn't work as thought - the whole initialization logic is messed up, and doesn't verify return values at all.

Arlied just committed a patch upstream that is supposed to fix the Xinerama w/ RandR crash as well.

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.