[Xorg-driver-geode] Startup crash on OLPC.

Mart Raudsepp mart.raudsepp at artecdesign.ee
Sat Feb 14 23:16:02 PST 2009


On P, 2009-02-15 at 00:07 -0500, Chris Ball wrote:
> Hi Mart,

Hello Chris,

> > diff --git a/src/lx_exa.c b/src/lx_exa.c
> > index 5d636ea..f6eeb65 100644
> > --- a/src/lx_exa.c
> > +++ b/src/lx_exa.c
> > @@ -564,7 +564,11 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
> >  	return FALSE;
> >      }
> >  
> > -    /* Keep an eye out for rotation transforms - those we can
> > +    /* We don't support any mask transforms */
> > +    if (pMsk->transform)
> > +	return FALSE;
> > +
> > +    /* Keep an eye out for source rotation transforms - those we can
> >       * do something about */
> >  
> >      exaScratch.rotate = RR_Rotate_0;
> 
> This commit (7c278551c79d7a5898c627341f58fad59b7ae20d) causes a segfault
> at startup on OLPC, as pMsk is sometimes NULL:

Not sure when that happens, as it didn't in the testing for the bug fix
on a full GNOME, but yes, the fix is obvious :)

> Program received signal SIGSEGV, Segmentation fault.
> 0xb79ad639 in lx_check_composite (op=3, pSrc=0x9bd7898, pMsk=0x0,
>     pDst=0x9bd78f0) at lx_exa.c:568
> 
> I'll push the obvious fix (pMsk && pMsk->transform), and make a release.

Note that this potential crasher is not in any release, so a release
makes sense if there is some other value in making one. For example for
the not often encountered rendering bug this change in overall fixes.

Would be nice to have a fix for the crasher introduced with the RANDR
1.2 porting that happens when DDC pins are in serial port mode.
Used to just fall back to not doing DDC.

Not mentioning the rest of bug #15700 :)
(oops, just mentioned it)


Regards,
Mart Raudsepp



More information about the Xorg-driver-geode mailing list