[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#726002: xserver-xorg-video-mga: Dualheading using 1.6.2 segfaults



Tormod Volden writes:
> On Fri, Oct 11, 2013 at 2:25 AM, Robert Jacobs wrote:
> > The newest release of xorg removes xaa.h and xaalocal.h (and, indeed all of
> > XAA). This means that the driver is built without defining HAVE_XAA_H,
> > which in turn fails to compile the line in mga_storm.c:mgaAccelInit that
> > ever fills the value of the function pointer RestoreAccelState. Finally,
> > because this function pointer is null, in mga_driver.c:MGACrtc2FillStrip,
> > it dereferences the null pointer and crashes.
> 
> This reminds me that I have a patch for some of this sitting here:
> https://bugs.launchpad.net/bugs/1180986

> Maybe you can take a look and possibly suggest a better patch.

The "right" solution is for someone to modernize the 1.9.100 branch
from six years ago, and give the MGA driver EXA support. But IIRC
Brice Goglin had a number of problems that showed up in that
branch. (e.g. debian 457502, 452223, 488762, 443936, 444739, &c &c &c)


When I tracked down this bug, I put in conditional execution that
simply checked whether each function pointer was null and if so
refused to dereference it. I feel like your conditional compilation
patch is better, because then whenever upstream finishes ripping out
XAA bits, the conditional compilation will be removed along with all
the rest.

> And ideally Cyril's 02-* dualhead patch should go upstream, so
> review of that would be welcome too.

I'm not certain what meets upstream's standards? It's sitting
ineffectively at https://bugs.freedesktop.org/show_bug.cgi?id=18472 ;
I assume the problem is there no real maintainer there to accept it.

I know it's been getting plenty of in-the-field testing
though. Getting this segfault fixed upstream probably requires getting
18472 commited first.

 - Robert Jacobs


Reply to: