Bug 21512 - [945GME] [UXA] X Freezes under KMS and UMS, Firefox
Summary: [945GME] [UXA] X Freezes under KMS and UMS, Firefox
Status: RESOLVED DUPLICATE of bug 20152
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.4 (2008.09)
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Carl Worth
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-01 11:50 UTC by roberth
Modified: 2009-05-19 10:15 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log - uxa/kms - freeze loading firefox case (14.69 KB, text/plain)
2009-05-01 11:50 UTC, roberth
no flags Details
dmesg - uxa/kms - freeze loading firefox case (57.42 KB, text/plain)
2009-05-01 11:51 UTC, roberth
no flags Details
backtrace - uxa/kms - freeze loading firefox case (2.76 KB, text/plain)
2009-05-01 11:52 UTC, roberth
no flags Details
intel_gpu_dump output - uxa/kms - freeze loading firefox case (123.50 KB, application/octet-stream)
2009-05-01 11:56 UTC, roberth
no flags Details
intel_reg_dumper output - uxa/kms - freeze loading firefox case (9.42 KB, text/plain)
2009-05-01 11:57 UTC, roberth
no flags Details
intel_gpu_dump output - uxa/kms gnome-terminal crash case (136.84 KB, application/octet-stream)
2009-05-01 12:59 UTC, roberth
no flags Details
intel_reg_dumper output - uxa/kms gnome-terminal crash case (9.42 KB, text/plain)
2009-05-01 13:00 UTC, roberth
no flags Details
dmesg - uxa/kms gnome-terminal crash case (51.53 KB, text/plain)
2009-05-01 13:01 UTC, roberth
no flags Details
Xorg.0.log - uxa/kms gnome-terminal crash case (14.69 KB, text/plain)
2009-05-01 13:01 UTC, roberth
no flags Details
Backtrace - uxa/kms - freeze loading www.woodtv.com every time. (4.06 KB, text/plain)
2009-05-07 14:35 UTC, roberth
no flags Details
intel_gpu_dump output - uxa/kms - freeze loading www.woodtv.com every time. (128.60 KB, application/x-gzip)
2009-05-07 14:40 UTC, roberth
no flags Details

Description roberth 2009-05-01 11:50:09 UTC
Created attachment 25344 [details]
Xorg.0.log - uxa/kms - freeze loading firefox case

Bug description: UXA is freezing in both KMS and UMS situations for me. It is reproducable by running glxgears and opening firefox, no matter what pages I load it will freeze within 5 minutes every time. I had this same problem on jaunty even though I am using karmic now. About a month and a half ago, UXA used to cause a hard lockup with a garbled screen, but lately it has been freezing with the mouse still functional but I'm not able to interact with the screen. Sorry I don't have exact dates of when it stopped being garbled and started locking up this way, because I have been using EXA and only testing UXA/KMS once every week or so when I upgraded my mesa/libdrm/intel/kernel stack and I've been happy with EXA performance which is no longer available.

System environment:
-- chipset: 945GME
-- system architecture: 32-bit i686
-- xf86-video-intel: 2.6.99.1 through 2.7.99.1 c231b41f3f3eb3ba9c8436d5fd93a30704ed437
-- xserver: 1.6.0
-- mesa: 7.4 through 7.5 e4e7ecc221fc1ed5714ac4c13e5cea204d37c6ad (including all mesa_7_4_branch updates)
-- libdrm: 2.4.5 through 2.4.9 11b60973bca1bc9bbda44be4c695e22d28d8ca4a
-- kernel: 2.6.29-rc1 through 2.6.30-2-generic (2.6.30-rc4)
-- Linux distribution: Ubuntu Jaunty, Ubuntu Karmic
-- Machine or mobo model: Acer Aspire One AOA150
-- Display connector: LVDS

Reproducing steps: Boot with UXA with or without KMS. run glxgears. open firefox 3.5 leaving glxgears in the background. If it doesn't crash immediately, browse around to any random website for a few minutes. Multiple tabs seems to trigger it faster but I'm not positive on that. Compositing or not doesn't matter, same crash both ways. 

Additional info:
Exact packages I use are available in this PPA -
https://launchpad.net/~xorg-edgers/+archive/ppa

I have 2 crashes worth of dumps to attach, one freezing under KMS/UXA/Compiz while browsing in firefox with glxgears running in the background, and the other with nothing open except gnome-terminal which crashed doing a ls on a big directory under KMS/UXA/no compiz. Dumps of the firefox case are available here incase I screw something up. http://sarvatt.com/intel/

Exact Package Versions-
ii  xserver-xorg-video-intel 2:2.7.99.1+git20090427.e55d9431-0ubuntu0sarvatt
ii  libgl1-mesa-dri          7.5.0~git20090501.e4e7ecc2-0ubuntu0sarvatt
ii  libgl1-mesa-glx          7.5.0~git20090501.e4e7ecc2-0ubuntu0sarvatt
ii  libglu1-mesa             7.5.0~git20090501.e4e7ecc2-0ubuntu0sarvatt
ii  xserver-common           2:1.6.0-0ubuntu14
ii  xserver-xorg             1:7.4~5ubuntu18
ii  xserver-xorg-core        2:1.6.0-0ubuntu14
ii  libdrm-intel1            2.4.9+git20090501.11b60973-0ubuntu0sarvatt
ii  libdrm2                  2.4.9+git20090501.11b60973-0ubuntu0sarvatt
Comment 1 roberth 2009-05-01 11:51:25 UTC
Created attachment 25345 [details]
dmesg - uxa/kms - freeze loading firefox case
Comment 2 roberth 2009-05-01 11:52:37 UTC
Created attachment 25346 [details]
backtrace - uxa/kms - freeze loading firefox case
Comment 3 roberth 2009-05-01 11:56:02 UTC
Created attachment 25347 [details]
intel_gpu_dump output - uxa/kms - freeze loading firefox case
Comment 4 roberth 2009-05-01 11:57:56 UTC
Created attachment 25348 [details]
intel_reg_dumper output - uxa/kms - freeze loading firefox case
Comment 5 roberth 2009-05-01 12:59:33 UTC
Created attachment 25350 [details]
intel_gpu_dump output - uxa/kms gnome-terminal crash case
Comment 6 roberth 2009-05-01 13:00:36 UTC
Created attachment 25351 [details]
intel_reg_dumper output - uxa/kms gnome-terminal crash case
Comment 7 roberth 2009-05-01 13:01:20 UTC
Created attachment 25352 [details]
dmesg - uxa/kms gnome-terminal crash case
Comment 8 roberth 2009-05-01 13:01:50 UTC
Created attachment 25353 [details]
Xorg.0.log - uxa/kms gnome-terminal crash case
Comment 9 roberth 2009-05-01 13:08:14 UTC
Backtrace from the gnome-terminal crash-


#0  0xb8033430 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7cabea9 in ioctl () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0xb7920d0d in drmIoctl (fd=8, request=25688, arg=0x0)
    at ../../libdrm/xf86drm.c:187
        ret = -1
#3  0xb7921112 in drmCommandNone (fd=8, drmCommandIndex=24)
    at ../../libdrm/xf86drm.c:2313
No locals.
#4  0xb78ecb3f in I830DRI2CopyRegion (pDraw=0x8e769e0, pRegion=0x90bf780,
    pDstBuffer=0x8edba70, pSrcBuffer=0x8edba88) at ../../src/i830_dri.c:1783
        srcPrivate = <value optimized out>
        dstPrivate = <value optimized out>
        pScreen = <value optimized out>
        pScrn = (ScrnInfoPtr) 0x8caf538
        pI830 = (I830Ptr) 0x8cafbd8
        pSrcPixmap = (PixmapPtr) 0x8e76d20
        pDstPixmap = (PixmapPtr) 0x8e769e0
        pCopyClip = (RegionPtr) 0x8f8caa8
        pGC = (GCPtr) 0x8cef858
#5  0xb793fdf3 in DRI2CopyRegion (pDraw=0x8e769e0, pRegion=0x90bf780, dest=0,
    src=1) at ../../../../hw/xfree86/dri2/dri2.c:186
        pPriv = <value optimized out>
        pDestBuffer = (DRI2BufferPtr) 0x8edba70
        pSrcBuffer = (DRI2BufferPtr) 0x8edba88
        i = 25688
#6  0xb79406a2 in ProcDRI2Dispatch (client=0x8e7fc88)
    at ../../../../hw/xfree86/dri2/dri2ext.c:251
        stuff = <value optimized out>
#7  0x0808d57f in Dispatch () at ../../dix/dispatch.c:437
        result = <value optimized out>
        client = (ClientPtr) 0x8e7fc88
        nready = 0
        start_tick = 26380
#8  0x080722ed in main (argc=10, argv=0xbf8505c4, envp=Cannot access memory at a
ddress 0x6460
)
    at ../../dix/main.c:397
        i = <value optimized out>
        alwaysCheckForInput = {0, 1}
Comment 10 roberth 2009-05-03 06:24:56 UTC
As of -
xf86-driver-intel 8255cca2c9092f7ecb798944aa8f03fa3efcfa6c
mesa/drm 68103b2758029b3c1fbfcf995baa758bfd2676de
mesa 7.6 986d4a9ec60ee52067b2d6f81c05f8ec3b8dc8b1
this problem seems to be gone and I'm finally stable in UXA.
Comment 11 Gordon Jin 2009-05-03 22:58:57 UTC
Robert, thanks for filing this.

Carl, I'm CCing you because I'm not sure if this fixed issue is related to other firefox/opera bugs you own.
Comment 12 roberth 2009-05-07 14:03:51 UTC
Unfortunately, I have found a website that can reproduce the crash every time now even though it has been stable in every other way since I reported it fixed.

http://www.woodtv.com

Comment 13 roberth 2009-05-07 14:35:24 UTC
Created attachment 25610 [details]
Backtrace - uxa/kms - freeze loading www.woodtv.com every time.

(gdb) bt f
#0  pixmanBltsse2 (src_bits=0xa2107000, dst_bits=0x9a107000, src_stride=1408,
   dst_stride=1408, src_bpp=32, dst_bpp=32, src_x=0, src_y=0, dst_x=0,
   dst_y=0, width=1299, height=15000)
   at /usr/lib/gcc/i486-linux-gnu/4.4.0/include/emmintrin.h:685
       w = 4684
       s = (uint8_t *) 0xa21961c0 <Address 0xa21961c0 out of bounds>
       d = <value optimized out>
       src_bytes = (uint8_t *) 0xa2196000 <Address 0xa2196000 out of bounds>
       dst_bytes = (uint8_t *) 0x9a196000 <Address 0x9a196000 out of bounds>
       byte_width = 5196
#1  0xb7f0555a in pixman_blt (src_bits=0xa2107000, dst_bits=0x9a107000,
   src_stride=1408, dst_stride=1408, src_bpp=32, dst_bpp=32, src_x=0,
   src_y=0, dst_x=0, dst_y=0, width=1299, height=15000)
   at ../../pixman/pixman-utils.c:51
No locals.
#2  0xb795c897 in fbCopyNtoN (pSrcDrawable=0x964cfd0, pDstDrawable=0x972d510,
   pGC=0x98b4600, pbox=DWARF-2 expression error: DW_OP_reg operations
must be used either alone or in conjuction with DW_OP_piece.
) at ../../fb/fbcopy.c:64
       alu = 3 '\003'
       pm = 4294967295
       src = (FbBits *) 0xa2107000
       srcStride = 1408
       srcBpp = 32
       srcXoff = 0
       srcYoff = 0
       dst = (FbBits *) 0x9a107000
       dstStride = 1408
       dstBpp = 32
       dstXoff = 0
       dstYoff = 0
#3  0xb79e1ed6 in uxa_copy_n_to_n (pSrcDrawable=0x964cfd0,
   pDstDrawable=0x972d510, pGC=0x98b4600, pbox=0xbf8c9720, nbox=1, dx=0,
   dy=0, reverse=0, upsidedown=0, bitplane=0, closure=0x0)
   at ../../uxa/uxa-accel.c:477
       src_off_x = <value optimized out>
       src_off_y = <value optimized out>
       dst_off_x = <value optimized out>
       dst_off_y = <value optimized out>
       pSrcPixmap = (PixmapPtr) 0x964cfd0
       pDstPixmap = (PixmapPtr) 0x972d510
       __FUNCTION__ = "uxa_copy_n_to_n"
#4  0xb795b796 in fbCopyRegion (pSrcDrawable=0x964cfd0,
   pDstDrawable=0x972d510, pGC=0x98b4600, pDstRegion=0xbf8c9720, dx=0, dy=0,
   copyProc=0xb79e1780 <uxa_copy_n_to_n>, bitPlane=0, closure=0x0)
   at ../../fb/fbcopy.c:396
       reverse = <value optimized out>
       upsidedown = <value optimized out>
       pbox = (BoxPtr) 0xbf8c9720
       nbox = 1
       pboxNew1 = <value optimized out>
       pboxNew2 = <value optimized out>
       pboxBase = <value optimized out>
       pboxNext = <value optimized out>
       pboxTmp = <value optimized out>
#5  0xb795bd73 in fbDoCopy (pSrcDrawable=0x964cfd0, pDstDrawable=0x972d510,
   pGC=0x98b4600, xIn=0, yIn=0, widthSrc=1299, heightSrc=15000, xOut=0,
   yOut=0, copyProc=0xb79e1780 <uxa_copy_n_to_n>, bitPlane=0, closure=0x0)
   at ../../fb/fbcopy.c:596
       prgnSrcClip = (RegionPtr) 0x0
       freeSrcClip = 0
       prgnExposed = <value optimized out>
       rgnDst = {extents = {x1 = 0, y1 = 0, x2 = 1299, y2 = 15000},
 data = 0x0}
       dx = 0
       dy = 0
       box_x1 = <value optimized out>
       box_y1 = 0
       box_x2 = <value optimized out>
       box_y2 = <value optimized out>
       fastSrc = 1
       fastDst = 1
       fastExpose = 1
#6  0xb79e1728 in uxa_copy_area (pSrcDrawable=0x964cfd0,
   pDstDrawable=0x972d510, pGC=0x98b4600, srcx=0, srcy=0, width=1299,
   height=15000, dstx=0, dsty=0) at ../../uxa/uxa-accel.c:496
No locals.
#7  0x081823a2 in damageCopyArea (pSrc=0x964cfd0, pDst=0x972d510,
   pGC=0x98b4600, srcx=0, srcy=0, width=1299, height=15000, dstx=0, dsty=0)
   at ../../../miext/damage/damage.c:949
       ret = <value optimized out>
       pGCPriv = (DamageGCPrivPtr) 0x957ef58
       oldFuncs = (GCFuncs *) 0x81eca80
#8  0x0808b869 in ProcCopyArea (client=0x9858958) at ../../dix/dispatch.c:1555
       pDst = (DrawablePtr) 0x972d510
       pSrc = (DrawablePtr) 0x964cfd0
       pGC = (GC *) 0x98b4600
       pRgn = <value optimized out>
       rc = 4684
#9  0x0808d57f in Dispatch () at ../../dix/dispatch.c:437
       result = <value optimized out>
       client = (ClientPtr) 0x9858958
       nready = 0
       start_tick = 246280
#10 0x080722ed in main (argc=10, argv=0xbf8c9984, envp=Cannot access
memory at address 0x1454
)
   at ../../dix/main.c:397
       i = <value optimized out>
       alwaysCheckForInput = {0, 1}
Comment 14 roberth 2009-05-07 14:40:06 UTC
Created attachment 25611 [details]
intel_gpu_dump output - uxa/kms - freeze loading www.woodtv.com every time.
Comment 15 roberth 2009-05-07 19:34:58 UTC
This bug I'm hitting now is the same as this one -
https://bugs.freedesktop.org/show_bug.cgi?id=20152

The pages listed in comment #29 give the same results and the backtraces look the same as the one I just posted when they crash. If any more detailed info is needed please let me know. 
Comment 16 Gordon Jin 2009-05-10 22:55:59 UTC
Let Carl to decide if marking dup with bug#20152.
Comment 17 Jesse Barnes 2009-05-11 11:21:58 UTC
Adjusting severity: crashes & hangs should be marked critical.
Comment 18 Eric Anholt 2009-05-19 10:15:36 UTC
The fixes for #20152 also fixed this on the 945 I was testing on.  Thanks for opening your own bug for it, though.


*** This bug has been marked as a duplicate of bug 20152 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.