On Tuesday 12 March 2002 10:01, Egbert Eich wrote:
> Hi Andris,
>
> Andris Pavenis writes:
> > On Wednesday 06 February 2002 11:25, Andris Pavenis wrote:
> > > I can reliably crash XFree86-4.2.0 on Pentium III machine with i810
> > > integrated video when KDE-3.0 beta2 (built from CVS) is installed:
> >
> > KDE-3.0-rc1 now crashes XFree86 on VT switching ALWAYS (for me)
> > with XFree86-4.2
> >
> > I810Sync() is called when switched away from X11 (I810LeaveVT() called
> > before that). It doesn't seem to happen if I'm using Gnome-1.4 and
> > happened much more seldom with KDE-2.2.2. Tried to add some protection
> > against this (see patch). It is rather ugly workaround, but it seems to
> > avoid XFree86 lockup at least in 24bpp mode (without disabling hardware
> > acceleration).
>
> Unfortunately your fix is not targeting the real problem.
True. But it's better than nothing while I don't know where to dig ...
> We should look further to see why I810Sync() gets called
> when X is switched away.
>
> Can you please find out from where I810Sync() is called?
> If you don't have the module aware version of dgb you
> can do the following:
> 1. add a call to xf86Break1() to I810Sync() (you can put it
> inside the if (I810_in_vt==0) { .. } so it gets only called
> at the right place),
> 2. recompile the driver,
> 3. log in from remote, start X in gdb, then start KDE.
> 4. Before you switch consoles you add a breakpoint to
> xf86Break1(), then switch consoles. Once you
> hit the breakpoint you create a backtrace.
>
Tried (started startx locally and attached to X from remote SSH session).
Recompiled dispatch.c with debug info, but there were litle use of it as
I anyway don't know where pGC->ops->CopyArea points to.
Andris
(gdb) b xf86Break1
Breakpoint 1 at 0x80ad223
(gdb) c
Continuing.
Program received signal SIGUSR1, User defined signal 1.
0x4011c9be in __select () from /lib/libc.so.6
(gdb) c
Continuing.
Breakpoint 1, 0x080ad223 in xf86Break1 ()
(gdb) where
#0 0x080ad223 in xf86Break1 ()
#1 0x08724bfc in ?? ()
#2 0x08726aab in ?? ()
#3 0x080b725f in ProcCopyArea (client=0x8add900) at dispatch.c:1756
#4 0x080b5014 in Dispatch () at dispatch.c:462
#5 0x080c6653 in main ()
#6 0x4006c74f in __libc_start_main (main=0x80c6250 <main>, argc=2,
ubp_av=0xbffff844, init=0x806cc2c <_init>, fini=0x818eb70 <_fini>,
rtld_fini=0x4000aa00 <_dl_fini>, stack_end=0xbffff83c)
at ../sysdeps/generic/libc-start.c:129
(gdb) f 3
#3 0x080b725f in ProcCopyArea (client=0x8add900) at dispatch.c:1756
1756 pRgn = (*pGC->ops->CopyArea)(pSrc, pDst, pGC, stuff->srcX,
stuff->srcY,
(gdb) l
1751 else
1752 pSrc = pDst;
1753
1754 SET_DBE_SRCBUF(pSrc, stuff->srcDrawable);
1755
1756 pRgn = (*pGC->ops->CopyArea)(pSrc, pDst, pGC, stuff->srcX,
stuff->srcY,
1757 stuff->width, stuff->height,
1758 stuff->dstX, stuff->dstY);
1759 if (pGC->graphicsExposures)
1760 {
(gdb) b 1759
Breakpoint 2 at 0x80b725f: file dispatch.c, line 1759.
(gdb) c
Continuing.
Breakpoint 2, ProcCopyArea (client=0x8add900) at dispatch.c:1759
1759 if (pGC->graphicsExposures)
(gdb) p *pGC
$2 = {pScreen = 0x8708b28, depth = 24 '\030', alu = 3 '\003', lineWidth = 0,
dashOffset = 0, numInDashList = 2, dash = 0x81b63f0 "\004\004",
lineStyle = 0, capStyle = 1, joinStyle = 0, fillStyle = 0, fillRule = 0,
arcMode = 1, subWindowMode = 0, graphicsExposures = 0, clientClipType = 2,
miTranslate = 1, tileIsPixel = 1, fExpose = 1, freeCompClip = 1, unused = 0,
planemask = 4294967295, fgPixel = 0, bgPixel = 1, tile = {pixmap = 0x0,
pixel = 0}, stipple = 0x87c7880, patOrg = {x = 0, y = 0},
font = 0x88f9980, clipOrg = {x = 6, y = 2}, lastWinOrg = {x = -1000,
y = -1000}, clientClip = 0x89af550, stateChanges = 0, serialNumber = 2736,
funcs = 0x81dc8c0, ops = 0x8aee550, devPrivates = 0x8aedc60,
pRotatedPixmap = 0x0, pCompositeClip = 0x895e548}
(gdb) p *pGC->ops
$4 = {FillSpans = 0x8737d38, SetSpans = 0x8724a18, PutImage = 0x873ae60,
CopyArea = 0x8726a10, CopyPlane = 0x872a2a8, PolyPoint = 0x8724d48,
Polylines = 0x8724de8, PolySegment = 0x8724e88, PolyRectangle = 0x873c660,
PolyArc = 0x8724fc8, FillPolygon = 0x873e6e0, PolyFillRect = 0x872b900,
PolyFillArc = 0x8744c98, PolyText8 = 0x872da28, PolyText16 = 0x872dac8,
ImageText8 = 0x872db78, ImageText16 = 0x872dc18, ImageGlyphBlt = 0x872dcc8,
PolyGlyphBlt = 0x872dd48, PushPixels = 0x872a6e8, devPrivate = {ptr = 0x0,
val = 0, uval = 0, fptr = 0}}
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert