Hey ajax, I haven't had the resources to look at many X11 issues these past few months, but someone bisected a crash to one of your changes back in September (see below). It looks like the issue is with the first hunk of http://cgit.freedesktop.org/xorg/xserver/commit/?id=4dc2a76740d921c824a4d8193f39dd373475f02a …
It seems likely that pDamage == NULL is resulting in pGCPriv->ops = NULL (instead of pGCPriv->ops = pGC->ops), and that pGCPriv->ops == NULL is resulting in the crash later. Thoughts? --Jeremy Begin forwarded message: > From: MacPorts <[email protected]> > Subject: Re: [MacPorts] #38993: xorg-server, xorg-server-devel crash at > "damageValidateGC" > Date: May 7, 2013 7:52:06 AM PDT > To: [email protected], [email protected] > Cc: [email protected] > Reply-To: [email protected] > > #38993: xorg-server, xorg-server-devel crash at "damageValidateGC" > --------------------------------+------------------------ > Reporter: kurtjaeke@… | Owner: jeremyhu@… > Type: defect | Status: new > Priority: Normal | Milestone: > Component: ports | Version: 2.1.3 > Resolution: | Keywords: > Port: xorg-server-devel | > --------------------------------+------------------------ > > Comment (by kurtjaeke@…): > > I played a little with "git bisect". > > Upstream commit 4dc2a76740d921c824a4d8193f39dd373475f02a > ("http://cgit.freedesktop.org/xorg/xserver/commit/?id=4dc2a76740d921c824a4d8193f39dd373475f02a") > causes the problems I see. '''Reverting''' the following part of the first > hunk makes this issue go away for me: > {{{ > diff --git a/miext/damage/damage.c b/miext/damage/damage.c > index 2d2b422..a98c20e 100644 > --- a/miext/damage/damage.c > +++ b/miext/damage/damage.c > @@ -436,9 +436,13 @@ damageCreateGC(GCPtr pGC) > static void > damageValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable) > { > DAMAGE_GC_FUNC_PROLOGUE(pGC); > (*pGC->funcs->ValidateGC) (pGC, changes, pDrawable); > - pGCPriv->ops = pGC->ops; /* just so it's not NULL */ > + if (pDamage) > + pGCPriv->ops = pGC->ops; /* so it's not NULL, so FUNC_EPILOGUE does work > */ > + else > + pGCPriv->ops = NULL; > DAMAGE_GC_FUNC_EPILOGUE(pGC); > } > }}} > This is where my investigation stops. > > What's next? > > -- > Ticket URL: <https://trac.macports.org/ticket/38993#comment:7> > MacPorts <http://www.macports.org/> > Ports system for OS X
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
