All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benjamin Schmidt" <DeMonk-hi6Y0CQ0nG0@public.gmane.org>
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: NV50 inifinite loop
Date: Tue, 27 Jul 2010 15:30:18 +0200	[thread overview]
Message-ID: <20100727133018.313920@gmx.net> (raw)

Hello,

this is my first Xorg/Nouveau bug-report ever so I'll try to explain as good as I can ;)

After several years of using the NVIDIA binary driver, I once again tried the latest nouveau driver for my Onboard Geforce 8100 card.

Several month ago I couldn' t even get to the kdm screen. But to my surprise everything I needed worked perfectly. Even KWin compositing. Amazing.

Although after doing some work the xserver freezes in an endless loop.
When I leave the pc alone, it survives a whole night without freezing. Most of the time it occures while opening a context menu, or a new gui program .


I'm running Ubuntu Maverick with the latest Xorg-Edgers repository

2.6.35-11-generic #16-Ubuntu SMP Sat Jul 24 21:37:44 UTC 2010 x86_64 GNU/Linux

lspci says

00:00.0 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP78S [GeForce 8200] LPC Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP78S [GeForce 8200] SMBus (rev a1)
00:01.2 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:01.3 Co-processor: nVidia Corporation MCP78S [GeForce 8200] Co-Processor (rev a2)
00:01.4 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:02.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:04.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:04.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:06.0 IDE interface: nVidia Corporation MCP78S [GeForce 8200] IDE (rev a1)
00:07.0 Audio device: nVidia Corporation MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:09.0 IDE interface: nVidia Corporation MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP77 Ethernet (rev a2)
00:0b.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:10.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:12.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
02:00.0 VGA compatible controller: nVidia Corporation C77 [GeForce 8100 / nForce 720a] (rev a2)


When the xserver is frozen, I can ssh into the machine and get the following messages in dmesg

[ 9509.530366] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.530979] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.531585] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.532197] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.532785] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.533385] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.533986] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4d000000
[ 9509.534573] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.535161] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4d000000
[ 9509.535745] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.536339] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffeaebeb
[ 9509.536960] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffeceded
[ 9509.537558] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffedeeee
[ 9509.538159] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffeff0f0
[ 9509.538758] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.539354] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.539955] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.540575] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.541169] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.541773] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x4c000000
[ 9509.542371] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.542968] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffffffff
[ 9509.543560] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0xffeeeeee
[ 9509.544151] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x00042050
[ 9509.544739] [drm] nouveau 0000:02:00.0: PFIFO_CACHE_ERROR - Ch 2/0 Mthd 0x0000 Data 0x000eccc9

and Xorg.0.log

[  9515.311] [mi] EQ overflowing. The server is probably stuck in an infinite loop.
[  9515.311] 
Backtrace:
[  9515.311] 0: /usr/bin/X (xorg_backtrace+0x28) [0x4614e8]
[  9515.311] 1: /usr/bin/X (mieqEnqueue+0x1f4) [0x45e1f4]
[  9515.311] 2: /usr/bin/X (xf86PostMotionEventP+0xc4) [0x47fcc4]
[  9515.311] 3: /usr/lib/xorg/modules/input/evdev_drv.so (0x7f6819536000+0x423f) [0x7f681953a23f]
[  9515.311] 4: /usr/bin/X (0x400000+0x784c7) [0x4784c7]
[  9515.311] 5: /usr/bin/X (0x400000+0x1006c3) [0x5006c3]
[  9515.311] 6: /lib/libpthread.so.0 (0x7f681eedd000+0xfb50) [0x7f681eeecb50]
[  9515.311] 7: /usr/lib/xorg/modules/drivers/nouveau_drv.so (0x7f681c07a000+0x2009a) [0x7f681c09a09a]
[  9515.311] 8: /usr/lib/xorg/modules/libexa.so (0x7f681b1fa000+0xf495) [0x7f681b209495]
[  9515.311] 9: /usr/lib/xorg/modules/libexa.so (0x7f681b1fa000+0xfb8a) [0x7f681b209b8a]
[  9515.311] 10: /usr/bin/X (0x400000+0xc2880) [0x4c2880]
[  9515.311] 11: /usr/bin/X (0x400000+0xb5d79) [0x4b5d79]
[  9515.311] 12: /usr/bin/X (0x400000+0x39fa9) [0x439fa9]
[  9515.311] 13: /usr/bin/X (0x400000+0x2165b) [0x42165b]
[  9515.311] 14: /lib/libc.so.6 (__libc_start_main+0xfd) [0x7f681de44d8d]
[  9515.311] 15: /usr/bin/X (0x400000+0x211e9) [0x4211e9]


like in the X.Org Wiki I installed the debug packages, attached gdb to the process and made it freeze again. Xorg is at 100% CPU load, I break the process inside gdb using strg+c.

bt full:

#0  NV50EXAPrepareComposite (op=<value optimized out>, pspict=<value optimized out>, pmpict=<value optimized out>, pdpict=<value optimized out>, pspix=0x2057530, pmpix=<value optimized out>, pdpix=0x21e4b20)
    at ../../src/nv50_exa.c:840
        pNv = 0x1c8c690
        chan = 0x1c95d80
        eng2d = 0x1c825d0
        tesla = 0x1c8bf10
#1  0x00007f681b209495 in exaTryDriverComposite (op=128 '\200', pSrc=0x2068830, pMask=0x0, pDst=0x2068a20, xSrc=<value optimized out>, ySrc=<value optimized out>, xMask=<value optimized out>, 
    yMask=<value optimized out>, xDst=268, yDst=0, width=<value optimized out>, height=<value optimized out>) at ../../exa/exa_render.c:759
        region = {extents = {x1 = 268, y1 = 0, x2 = 848, y2 = 28}, data = 0x3794a70}
        pbox = <value optimized out>
        nbox = <value optimized out>
        src_off_x = <value optimized out>
        src_off_y = <value optimized out>
        mask_off_x = <value optimized out>
        mask_off_y = <value optimized out>
        dst_off_x = 0
        dst_off_y = 0
        pSrcPix = 0x2057530
        pMaskPix = 0x0
        pDstPix = 0x21e4b20
        pSrcExaPix = 0x7fffd18b5790
        pMaskExaPix = <value optimized out>
#2  0x00007f681b209b8a in exaComposite (op=<value optimized out>, pSrc=0x2068830, pMask=0x0, pDst=0x2068a20, xSrc=<value optimized out>, ySrc=<value optimized out>, xMask=0, yMask=0, xDst=268, yDst=0, width=580, 
    height=28) at ../../exa/exa_render.c:1033
        isSrcSolid = <value optimized out>
        ret = <value optimized out>
        saveMaskRepeat = 0
        region = {extents = {x1 = -27072, y1 = 512, x2 = 0, y2 = 0}, data = 0x1a00370}
#3  0x00000000004c2880 in damageComposite (op=128 '\200', pSrc=<value optimized out>, pMask=<value optimized out>, pDst=0x2068a20, xSrc=30000, ySrc=0, xMask=<value optimized out>, yMask=<value optimized out>, 
    xDst=268, yDst=0, width=580, height=<value optimized out>) at ../../../miext/damage/damage.c:640
        pScreen = <value optimized out>
#4  0x00000000004b5d79 in ProcRenderComposite (client=0x2009640) at ../../render/render.c:723
        pSrc = 0x2068830
        pMask = 0x0
        pDst = 0x2068a20
#5  0x0000000000439fa9 in Dispatch () at ../../dix/dispatch.c:432
        result = <value optimized out>
        client = 0x2009640
        nready = 0
        start_tick = 117040
#6  0x000000000042165b in main (argc=8, argv=0x7fffd18b5c38, envp=<value optimized out>) at ../../dix/main.c:291
        i = 1
        alwaysCheckForInput = {0, 1}


It seems to be looping inside NV50EXAPrepareComposite (?)

Do you need any more data to this issue?

Thanks a lot for all your work!

Benjamin
-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

                 reply	other threads:[~2010-07-27 13:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100727133018.313920@gmx.net \
    --to=demonk-hi6y0cq0ng0@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.