finding source of segfault

Drew Parsons dparsons at debian.org
Wed Jun 14 18:55:11 PDT 2006


On Wed, 2006-06-14 at 11:02 -0400, Adam Jackson wrote:
> On Wednesday 14 June 2006 01:34, Drew Parsons wrote:
> 
> > I'm writing now on the off-chance that someone might recognise the
> > signature of the segfault and be able to pinpoint  which lib needs to be
> > upgraded to X11R7.1 (or beyond).  The backtrace looks like:
> >
> > #0  0x00000000 in ?? ()
> > #1  0x080bc2ee in compCreateWindow (pWin=0x875e6e8) at compwindow.c:600
> 
> This sort of signature typically means you attempted to call through a 
> function pointer that was set to NULL.  compCreateWindow calls through three 
> of the screen's function pointer chains: CreateWindow, GetWindowPixmap, and 
> SetWindowPixmap.
> 
> Line 600 of compwindow.c calls both the GetWindowPixmap and SetWindowPixmap 
> chains.  These are normally always provided by fb, but while Xprint's raster 
> and pcl backends wrap fb, the postscript backend does not, and does not 
> itself provide implementations for those chains.  Woo!

Xprint is an interesting piece of work, no? ;)

> Right now those chains are only ever called from the Damage and Composite 
> extensions, so the minimal hack might be to just always disable those in 
> Xprt; I had thought this was done already though.  The better solution might 
> be to add stub implementations to the postscript backend and see what breaks.  
> Since the ps backend clearly believes it can implement the world without 
> using fb, it might be fine to just have those calls no-op.

OK, I'll focus on Xprint/ps and see what I can dig up.  I'll want to try
to figure out why the segfault's only happening now, find what changed
since I last tested CVS.  I might think about drawing ps back to the fb
fold, if I can manage it.

Thanks for the tips,

Drew



More information about the xorg mailing list