Bug 13420 - X crash, randr related
Summary: X crash, randr related
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/radeonhd (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Matthias Hopf
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-28 05:21 UTC by Børre Gaup
Modified: 2007-11-29 06:28 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
This is the xorg.conf that I use (2.79 KB, text/plain)
2007-11-28 05:23 UTC, Børre Gaup
no flags Details
Original Xorg.0.log with the crash (29.69 KB, text/x-log)
2007-11-28 05:25 UTC, Børre Gaup
no flags Details
Debugging output (3.80 KB, text/plain)
2007-11-28 05:25 UTC, Børre Gaup
no flags Details
Core file which is produced by gdb (203.26 KB, application/x-bzip2)
2007-11-28 05:26 UTC, Børre Gaup
no flags Details
Verify return value (629 bytes, patch)
2007-11-28 11:18 UTC, Matthias Hopf
no flags Details | Splinter Review

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.