bugzilla-daemon at freedesktop.org
2009-Sep-22 19:31 UTC
[Nouveau] [Bug 24092] New: X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 Summary: X with nouveau hangs in nouveau_bo_map_range when doing anything Product: xorg Version: unspecified Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: major Priority: medium Component: Driver/nouveau AssignedTo: nouveau at lists.freedesktop.org ReportedBy: alexerion at gmail.com QAContact: xorg-team at lists.x.org Created an attachment (id=29769) --> (http://bugs.freedesktop.org/attachment.cgi?id=29769) lspci -vv output for the video card When eg. moving cursor over kde menu, or moving a window, X hangs, and starts using 100% cpu. Sometimes it even hangs before kde has finished loading. It pretty much hangs in under a minute if i do anything at all. The cursor still moves, but nothing else works. More specific info, as obtained from "gdb --pid `pidof X`", follows. The hanged X sometimes shuts down after i detach from it, the odds seem to rise the more i have used stepi in gdb. Backtrace: (gdb's parameter string expansions removed, as they contained garbage. They are visible in the attached gdb-full.log, though) #0 0x00007fc4c3af5127 in ioctl () from /lib/libc.so.6 #1 0x00007fc4c2d8bb26 in drmIoctl (fd=9, request=1074291845, arg=0x7fffec89f5c0) at xf86drm.c:188 #2 0x00007fc4c2d8bd3f in drmCommandWrite (fd=9, drmCommandIndex=<value optimized out>, data=0x7fffec89f5c0, size=18446744073709551615) at xf86drm.c:2402 #3 0x00007fc4c2930011 in nouveau_bo_wait (bo=0x2397790, cpu_write=0, no_wait=0, no_block=0) at nouveau_bo.c:399 #4 0x00007fc4c29301d5 in nouveau_bo_map_range (bo=0x2397790, delta=0, size=<value optimized out>, flags=0) at nouveau_bo.c:442 #5 0x00007fc4c2b43ce5 in NVAccelDownloadM2MF (pspix=0x2614d70, x=<value optimized out>, y=0, w=156, h=102, dst=0x2614db0, dst_pitch=624) at nouveau_exa.c:125 #6 0x00007fc4c2b44d1e in nouveau_exa_download_from_screen (pspix=0x2614d70, x=0, y=0, w=156, h=102, dst=0x2614db0, dst_pitch=624) at nouveau_exa.c:480 #7 0x00007fc4c10d271a in exaCopyDirty (migrate=0x7fffec89f950, pValidDst=0x2517ee8, pValidSrc=<value optimized out>, transfer=0x7fc4c2b44ca7 <nouveau_exa_download_from_screen>, fallback_src=0x7fc4b9000b00 <Address 0x7fc4b9000b00 out of bounds>, -- #8 0x00007fc4c10d2a69 in exaDoMoveOutPixmap (migrate=0x7fffec89f950) at exa_migration.c:256 #9 0x00007fc4c10d30b5 in exaDoMigration (pixmaps=0x7fffec89f950, npixmaps=1, can_accel=0) at exa_migration.c:677 #10 0x00007fc4c10cf329 in exaGetImage (pDrawable=0x2614d70, x=0, y=0, w=156, h=102, format=2, planeMask=4294967295, d=0x2624660) at exa_accel.c:1331 #11 0x00000000004cc141 in miSpriteGetImage (pDrawable=0x2614d70, sx=0, sy=0, w=156, h=102, format=2, planemask=4294967295, pdstLine=0x2624660) at misprite.c:281 #12 0x0000000000446116 in ProcGetImage (client=0x2528750) at dispatch.c:2067 #13 0x0000000000447c4a in Dispatch () at dispatch.c:454 #14 0x000000000043069d in main (argc=9, argv=0x7fffec89fc78, envp=<value optimized out>) at main.c:438 I've gotten the above(ish) backtrace multiple times, the last few functions are always the same: ioctl() drmIoctl() drmCommandWrite() nouveau_bo_wait() (was "?? ()" before i compiled everything with -ggdb, but probably same) nouveau_bo_map_range() Right next in the stack trace after these, i have seen NVAccelDownloadM2MF and NVAccelUploadM2MF thus far. (again before recompile with -ggdb, it was always "?? ()", so i might've missed some callers, but probably mostly the same functions) If i step the code one instruction at a time with 'stepi', the execution loops these: ioctl () from /lib/libc.so.6 0x7fc4c3af5127 <ioctl+7>: cmp $0xfffffffffffff001,%rax utils.c 0x4df396 <SmartScheduleTimer>: mov 0x2b47a3(%rip),%rax # 0x793b40 <_DYNAMIC+3496> 0x4df39d <SmartScheduleTimer+7>: mov 0x2b4b54(%rip),%rdx # 0x793ef8 <_DYNAMIC+4448> 0x4df3a4 <SmartScheduleTimer+14>: mov (%rdx),%rdx 0x4df3a7 <SmartScheduleTimer+17>: add %rdx,(%rax) 0x4df3aa <SmartScheduleTimer+20>: retq <signal handler called> 0x7fc4c5b8ea10 <__restore_rt>: mov $0xf,%rax 0x7fc4c5b8ea17 <__restore_rt+7>: syscall So the line in ioctl() never seems to get executed. The assembly lines looped have so far been the same every time i have looked at X with gdb after a hang. I am using 64bit gentoo, the git revisions of the installed packages are: xf86-video-nouveau df94ebdbcd89c1678ac243217e7f5b20cbbe857c nouveau-drm 3d6747a2b1576782fe74975a353b356cfc936505 libdrm ac71f0849928f4b2fbb69c01304ac6f9df8916a1 Like i said, it's very easy to trigger the hang, so on the positive side, i'm able to test patches quickly (as soon as i figure out how to tell emerge to use them :) -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2009-Sep-22 19:32 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 --- Comment #1 from Aleksi Torhamo <alexerion at gmail.com> 2009-09-22 12:32:43 PST --- Created an attachment (id=29770) --> (http://bugs.freedesktop.org/attachment.cgi?id=29770) xorg.conf in use -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2009-Sep-22 19:39 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 --- Comment #2 from Aleksi Torhamo <alexerion at gmail.com> 2009-09-22 12:39:49 PST --- Created an attachment (id=29771) --> (http://bugs.freedesktop.org/attachment.cgi?id=29771) dmesg output Contains markers added afterwards so it can be seen at which point the messages occur. For example "[* 91.26 ] *** Notice: after startx ***" means that startx has been run before that point -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2009-Sep-22 19:40 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 Aleksi Torhamo <alexerion at gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #29771|application/octet-stream |text/plain mime type| | -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2009-Sep-22 19:44 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 --- Comment #3 from Aleksi Torhamo <alexerion at gmail.com> 2009-09-22 12:44:59 PST --- Created an attachment (id=29772) --> (http://bugs.freedesktop.org/attachment.cgi?id=29772) Xorg log The log file stopped changing before the hang happened -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2009-Sep-22 19:46 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 --- Comment #4 from Aleksi Torhamo <alexerion at gmail.com> 2009-09-22 12:46:49 PST --- Created an attachment (id=29773) --> (http://bugs.freedesktop.org/attachment.cgi?id=29773) log of gdb session Probably not much use, but attaching for completeness :) Contains backtrace and register values during the stepping -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2009-Sep-23 17:21 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
http://bugs.freedesktop.org/show_bug.cgi?id=24092 --- Comment #5 from Pekka Paalanen <pq at iki.fi> 2009-09-23 10:21:34 PST --- The trigger of this problem seems to be the PFIFO_DMA_PUSHER interrupt, after which the channel is stuck. The spinning afterwards is just a side-effect: it looks like the kernel is always returning EAGAIN (right?) from DRM_NOUVEAU_GEM_CPU_PREP ioctl and user space does not know to time out (and it probably does not need to, since we spin in user space and can kill it). We'd have to find out why the command stream is grabled, that's what a pusher interrupt means AFAIK, bad command packet format. The randomness sounds like a race. I hope this is (not?) just another manifestation of the kernel memory problems we've been seeing recently on certain setups. Unfortunately I don't have any further insight into this right now. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2010-Oct-03 02:39 UTC
[Nouveau] [Bug 24092] X with nouveau hangs in nouveau_bo_map_range when doing anything
https://bugs.freedesktop.org/show_bug.cgi?id=24092 Aleksi Torhamo <alexerion at gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME --- Comment #6 from Aleksi Torhamo <alexerion at gmail.com> 2010-10-02 19:39:41 PDT --- I decided to test if the current nouveau works for me - and it does, perfectly. Much lighter on the processor when watching videos, than the nvidia driver. Not sure if it was my hardware, the kernel, nouveau, or something else, but if I'd have to pick, I'd say hardware; At one point I decreased the memory speed from BIOS after noticing that the motherboard (which supports DDR2-667) had apparently decided to use the memory at 800MHz, which sounds like the kind of thing that could have caused the whole thing. When I was first trying to get nouveau to work, I hadn't even thought looking there, since the problem was dependent on the software I was running.. All in all, one more happy user of nouveau. Many thanks to all the developers for an excellent driver. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
Maybe Matching Threads
- [Bug 58735] New: GeForce 680, HDMI output no good after passing through HDMI-to-DVI converter
- [PATCH] drm/nouveau/clock: fix support for more than 2 monitors on nve0
- nls fits by groups
- Reordering entries in package manual PDF's
- Bug#1067151: xen-utils-common: vif-openvswitch ignores MTU