Bug 23804 - Xorg server SEGFAULTS when starting with two interfaces/drivers
Summary: Xorg server SEGFAULTS when starting with two interfaces/drivers
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL: N/A
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-08 23:18 UTC by Robert Bradbury
Modified: 2018-06-12 18:44 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
checks that pEnt->busAcc isn't NULL before dereferencing it (506 bytes, patch)
2010-01-30 01:38 UTC, Chris Humbert
no flags Details | Splinter Review

Description Robert Bradbury 2009-09-08 23:18:13 UTC
When attempting to start X Server 1.6.3.901 (Gentoo) on recent versions of the Linux Kernel (2.6.28+, but particularly 2.6.31 with the Radeon upgrades), the xorg.conf, the driver files and the other various drivers all load properly (no EE errors) but when it attempts to enter an "OPERATING" state it SEGFAULTS and hangs the Linux Kernel.

The fault is in xf86Bus.c (line 1521):
  ((BusAccPtr)pEnt->busAcc)->set_f(pEnt->busAcc);

All of the configuration files, version numbers, a limited debugging trace, etc. are filed under Gentoo Bug #284233.

http://bugs.gentoo.org/show_bug.cgi?id=284223

The configuration is attempting to make the motherboard i915 chip and an add-on MSI R3450 (R620) PCIe card drive 3 monitors.  The i915 works alone with a single monitor and the R620 works alone with 2 monitors but a combined configuration fails.
Comment 1 Rémi Cardona 2009-09-27 00:56:49 UTC
Robert,

Please attach your xorg.conf and the resulting Xorg.0.log here.

Thanks
Comment 2 Chris Humbert 2010-01-30 01:38:42 UTC
Created attachment 32922 [details] [review]
checks that pEnt->busAcc isn't NULL before dereferencing it

I ran into this same problem on xorg-server-1.6.5. pent->busAcc is NULL, so 
xf86Bus.c:1521's dereference causes a segfault. Other code seems to indicate
busAcc can be NULL and checks that it isn't before dereferencing it. It looks like
xf86Bus.c:1521 misses that check? After adding that check, it works for me. Patch is attached.
Comment 3 Adam Jackson 2018-06-12 18:44:07 UTC
Mass closure: This bug has been untouched for more than six years, and is not obviously still valid. Please file a new report if you continue to experience issues with a current server.


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.