Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Oct 2011 13:07:44 +0100
From:      "Richard M. Timoney" <richardt@maths.tcd.ie>
To:        x11@FreeBSD.org
Subject:   Bug possibly in xf86-video-intel
Message-ID:  <20111014120744.GA85747@bloch.maths.tcd.ie>

next in thread | raw e-mail | index | archive | help
Dear x11,

I have both FreeBSD 8.2 64 bit and FreeBSD 7.4 386 systems that reliably
crash X under the following action

Action: remote access X on a Debian 64 bit system. Attempt to open iceweasel.

   It can do this with ssh -Y from a desktop on ym amd64 system, or by
   remote login from kdm on either system

   Both systems have intel cards (one much older than the other).

   FreeBSD bloch.maths.tcd.ie 8.2-STABLE FreeBSD 8.2-STABLE #11: Tue Oct
   4 22:45:41 IST 2011
   richardt@bloch.maths.tcd.ie:/bloch/obj/usr/src/sys/GENERIC  amd64

   (--) PCI:*(0:0:2:0) 8086:2e12:1028:0276 Intel Corporation 4 Series
   Chipset Integrated Graphics Controller rev 3, Mem @
   0xfe800000/4194304, 0xd0000000/268435456, I/O @ 0x0000ec90/8, BIOS @
   0x????????/65536
   (--) PCI: (0:0:2:1) 8086:2e13:1028:0276 Intel Corporation 4 Series
   Chipset Integrated Graphics Controller rev 3, Mem @
   0xfe700000/1048576

   (II) intel(0): Integrated Graphics Chipset: Intel(R) Q45/Q43
   (--) intel(0): Chipset: "Q45/Q43"
   (--) intel(0): Linear framebuffer at 0xD0000000
   (--) intel(0): IO registers at addr 0xFE800000
   (==) intel(0): Using EXA for acceleration


Diagnosis attempts:
==================

I build X and the intel driver
    xorg-server-1.7.7_2,1
    xf86-video-intel-2.7.1_4
   with debugging on and ran with gdb to get this output

Program received signal SIGSEGV, Segmentation fault.
0x000000080280c0a0 in i830_get_pixmap_bo (pixmap=0x0) at i830_exa.c:784
784	    ScreenPtr screen = pixmap->drawable.pScreen;
(gdb) bt
#0  0x000000080280c0a0 in i830_get_pixmap_bo (pixmap=0x0) at i830_exa.c:784
#1  0x0000000802816a14 in i965_set_picture_surface_state (ss_bo=0x818136f40, 
    ss_index=1, pPicture=0x818136e80, pPixmap=0x0, is_dst=0)
    at i965_render.c:927
#2  0x0000000802817ef2 in i965_prepare_composite (op=3, 
    pSrcPicture=0x818136e80, pMaskPicture=0x0, pDstPicture=0x818134e40, 
    pSrc=0x0, pMask=0x0, pDst=0x818165000) at i965_render.c:1301
#3  0x000000080312d55d in exaTryDriverComposite ()
   from /usr/local/lib/xorg/modules/libexa.so
#4  0x000000080312e205 in exaComposite ()
   from /usr/local/lib/xorg/modules/libexa.so
#5  0x000000000053583c in damageComposite (op=3 '\003', pSrc=0x818136e80, 
    pMask=0x0, pDst=0x818134e40, xSrc=0, ySrc=48, xMask=0, yMask=0, xDst=0, 
    yDst=48, width=994, height=34) at damage.c:643
#6  0x00000000005252a5 in CompositePicture (op=3 '\003', pSrc=0x818136e80, 
    pMask=0x0, pDst=0x818134e40, xSrc=0, ySrc=48, xMask=0, yMask=0, xDst=0, 
    yDst=48, width=994, height=34) at picture.c:1718
#7  0x000000000052781b in ProcRenderComposite (client=0x801e2f580)
    at render.c:723
#8  0x000000000052b772 in ProcRenderDispatch (client=0x801e2f580)
    at render.c:2056
#9  0x00000000004353dc in Dispatch () at dispatch.c:439
#10 0x000000000042dace in main (argc=7, argv=0x7fffffffe850, 
---Type <return> to continue, or q <return> to quit---
    envp=0x7fffffffe890) at main.c:285


I assume that the problem is that the pointer is 0 and
ScreenPtr screen = pixmap->drawable.pScreen;
is then an invalid instruction.

I don't know what else is wrong to get to this stage.

Yours,

Richard Timoney


-- 
Richard M. Timoney
		  (richardt@maths.tcd.ie)       Tel. +353-1-896 1196
        School of Mathematics, Trinity College, Dublin 2, Ireland
WWW http://www.maths.tcd.ie/~richardt		FAX  +353-1-896 2282



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111014120744.GA85747>