* NV50 inifinite loop
@ 2010-07-27 13:30 Benjamin Schmidt
0 siblings, 0 replies; only message in thread
From: Benjamin Schmidt @ 2010-07-27 13:30 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-07-27 13:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-27 13:30 NV50 inifinite loop Benjamin Schmidt
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.