Jan Seiffert
2011-May-25 02:32 UTC
[Nouveau] [Regression 2.6.39][nouveau][bisected?] leaving fullscreen XV "crashes" with KDE desktop effects enabled
Please CC as not subscribed. HW: 01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2) Xorg log says: (--) NOUVEAU(0): Chipset: "NVIDIA NV92" System is 64Bit x86 Saw it on first test of 2.6.39 with 2.6.39-rc3, but only now had time to bisect from 2.6.39-rc3 to 2.6.38. Since with desktop effects other corruptions are also much much worse with 2.6.39 i found that this only happens with desktop effects. To reproduce: - enable KDE desktop effects (or make sure they are enabled, during bisect KDE disabled them due to the crashes) - start a video with mplayer using XV - switch to full screen - switch out of full screen - quit mplayer computer is "dead", really dead... During bisect it also crashed on switching out of full screen, sometime it wasn't totally dead, but only X11, or just badly distorted/hangy (mouse still working, but nothing else of X11). I tried to bisect it, but since i hit other problems (no graphics at all or corrupted graphic from the start but could still operate blind to test if leaving fullscreen/ending XV crashes) and the exact form of crash changed during bisect, i'm not sure i hit the right commit (some needed skips also do NOT raise the confidence). 2.6.39 final "crashes" on leaving full screen and only X11 is dead. (during bisect if machine is still alive but X11 dead only one time i found X11 stuck at 100% D-State (multicore helps...)) Unfortunately i'm to stupid to revert the commit. If the machine was not deadly dead, things like this made it to syslog (and syslog was on, thanks to the permission check patch...), from the first derail point. Example 1: [drm] nouveau 0000:01:00.0: magic set 1: [drm] nouveau 0000:01:00.0: 0x00409904: 0x20085205 [drm] nouveau 0000:01:00.0: 0x00409908: 0x00000000 [drm] nouveau 0000:01:00.0: 0x0040990c: 0x40000e04 [drm] nouveau 0000:01:00.0: 0x00409910: 0x00000000 [drm] nouveau 0000:01:00.0: PGRAPH - TRAP_TEXTURE - TP1: Unhandled ustatus 0x00000003 [drm] nouveau 0000:01:00.0: magic set 4: [drm] nouveau 0000:01:00.0: 0x0040c904: 0x20082805 [drm] nouveau 0000:01:00.0: 0x0040c908: 0x00000000 [drm] nouveau 0000:01:00.0: 0x0040c90c: 0x40000e04 [drm] nouveau 0000:01:00.0: 0x0040c910: 0x00000000 [drm] nouveau 0000:01:00.0: PGRAPH - TRAP_TEXTURE - TP4: Unhandled ustatus 0x00000003 [drm] nouveau 0000:01:00.0: PGRAPH - TRAP [drm] nouveau 0000:01:00.0: PGRAPH - ch 2 (0x0000aa0000) subc 5 class 0x8297 mthd 0x15e0 data 0x00000000 [drm] nouveau 0000:01:00.0: VM: trapped write at 0x002000f004 on ch 2 [0x00000aa0] PFIFO/PFIFO_READ/SEMAPHORE reason: DMAOBJ_LIMIT .... .... Example 2: [drm] nouveau 0000:01:00.0: PGRAPH - DATA_ERROR BEGIN_END_ACTIVE [drm] nouveau 0000:01:00.0: PGRAPH - DATA_ERROR [drm] nouveau 0000:01:00.0: PGRAPH - ch 2 (0x0000aa0000) subc 5 class 0x8297 mthd 0x1360 data 0x00000001 [drm] nouveau 0000:01:00.0: VM: trapped write at 0x002000f004 on ch 2 [0x00000aa0] PFIFO/PFIFO_READ/SEMAPHORE reason: DMAOBJ_LIMIT .... .... $ git bisect bad c3b90a7d4ce28c5c25de8aad3956c5c3f188d6a1 is the first bad commit commit c3b90a7d4ce28c5c25de8aad3956c5c3f188d6a1 Author: Ben Skeggs <bskeggs at redhat.com> Date: Fri Jan 28 12:08:29 2011 +1000 drm/nv84: switch to new-style semaphores These are the same semaphores nvc0 will use, and they potentially allow us to do much cooler things than our current inter-channel sync impl. Lets switch to them where possible now for some testing. $ git bisect log git bisect start # good: [521cb40b0c44418a4fd36dc633f575813d59a43d] Linux 2.6.38 git bisect good 521cb40b0c44418a4fd36dc633f575813d59a43d # bad: [a6360dd37e1a144ed11e6548371bade559a1e4df] Linux 2.6.39-rc3 git bisect bad a6360dd37e1a144ed11e6548371bade559a1e4df # skip: [e240ae4aad9c5c0da189cb6c956cca58abd428d0] xen: Use new irq_move functions git bisect skip e240ae4aad9c5c0da189cb6c956cca58abd428d0 # good: [b3ed3a174c419702eddf9fb28636f6e4baa29d03] ARM: EXYNOS4: Update Clock part git bisect good b3ed3a174c419702eddf9fb28636f6e4baa29d03 # good: [0ff1731a1ae51e8e48cd559d70db536281c47f8e] HID: bt: Add support for hidraw HIDIOCGFEATURE and HIDIOCSFEATURE git bisect good 0ff1731a1ae51e8e48cd559d70db536281c47f8e # good: [0a27d7f9f417c0305f7efa70631764a53c7af219] perf record: Use perf_evlist__mmap git bisect good 0a27d7f9f417c0305f7efa70631764a53c7af219 # bad: [401a18e92ce32cd0ddfa5738899ca2b8114f2bbf] block: fix bug with inserting flush requests as sort/merge git bisect bad 401a18e92ce32cd0ddfa5738899ca2b8114f2bbf # good: [e34551339a195aa548eaf698523714a8fe7f1984] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu git bisect good e34551339a195aa548eaf698523714a8fe7f1984 # bad: [d3e458d78167102cc961237cfceef6fffc80c0b3] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 git bisect bad d3e458d78167102cc961237cfceef6fffc80c0b3 # bad: [6d7ed21d17e640b120b902a314143e5ef4917a70] Merge branches 'defcfg', 'drivers' and 'cyberpro-next' of master.kernel.org:/home/rmk/linux-2.6-arm git bisect bad 6d7ed21d17e640b120b902a314143e5ef4917a70 # bad: [c8def554d031664e984323f6a5d667f070717776] smp_call_function_interrupt: use typedef and %pf git bisect bad c8def554d031664e984323f6a5d667f070717776 # bad: [c87a8d8dcd2587c203f3dd8a3c5c15d1e128ec0d] drm/radeon: fixup refcounts in radeon dumb create ioctl. git bisect bad c87a8d8dcd2587c203f3dd8a3c5c15d1e128ec0d # bad: [8aa75009bca5e700e9236c8e066d2f943069c883] drm/radeon/kms: cayman/evergreen cs checker updates git bisect bad 8aa75009bca5e700e9236c8e066d2f943069c883 # bad: [30d81817a2a7eefcf4aa8b703d5f8330451c2648] drm/nv50-nvc0: disp channels have fixed purposes, don't "allocate" them git bisect bad 30d81817a2a7eefcf4aa8b703d5f8330451c2648 # skip: [63871f89d158e3f3e469dde00dd15763d474cb3c] Merge branch 'drm-mm-cleanup' into drm-next git bisect skip 63871f89d158e3f3e469dde00dd15763d474cb3c # good: [4546b2c1d6e256c716e5240f5d6198a078fd7a22] radeon: move blit functions to radeon_asic.h git bisect good 4546b2c1d6e256c716e5240f5d6198a078fd7a22 # good: [e11d57ca0b6dada29007ce3ad3db6c84034a768f] Merge remote-tracking branch 'airlied/drm-core-next' into drm-nouveau-next git bisect good e11d57ca0b6dada29007ce3ad3db6c84034a768f # bad: [ea5f2786a0942832f32deb7c507531b766028356] drm/nouveau: silence some compiler warnings git bisect bad ea5f2786a0942832f32deb7c507531b766028356 # good: [e0435120a8e91990e995ffacb109f82cd44fdfc1] drm/nv40: support for 39-bit dma addresses on native PCIE chipsets git bisect good e0435120a8e91990e995ffacb109f82cd44fdfc1 # bad: [cc8cd6479cb9d6b384ccdaa4b21fcbf0826bd232] drm/nvc0/pfifo: semi-handle a couple more irqs git bisect bad cc8cd6479cb9d6b384ccdaa4b21fcbf0826bd232 # bad: [c3b90a7d4ce28c5c25de8aad3956c5c3f188d6a1] drm/nv84: switch to new-style semaphores git bisect bad c3b90a7d4ce28c5c25de8aad3956c5c3f188d6a1 Other software involved now ATM: [ebuild R ] x11-drivers/xf86-video-nouveau-0.0.16_pre20110323 [ebuild R ] kde-base/kde-meta-4.6.2 USE="accessibility nls semantic-desktop (-aqua) (-kdeprefix) -sdk" [ebuild R ] x11-base/xorg-server-1.9.4 USE="doc ipv6 kdrive nptl udev xorg -dmx -minimal -static-libs -tslib" [ebuild R ] media-libs/mesa-7.10.2 USE="classic gallium llvm motif nptl -debug -gles -hardened -pic (-selinux)" VIDEO_CARDS="nouveau -intel -mach64 -mga -r128 -radeon -savage -sis -tdfx -via -vmware" [ebuild R ] sys-devel/llvm-2.8-r2 USE="libffi -alltargets -debug -llvm-gcc -ocaml -test -udis86" [ebuild R ] x11-libs/libdrm-2.4.25 USE="libkms -static-libs" VIDEO_CARDS="nouveau -intel -radeon -vmware" But since i noticed this at 2.6.39-rc3 KDE was updated from 4.5 and if i remember right also the other stuff. So, throw patches at me, or tell me what other info you need, as long as it does not contain a serial console or such things... Greetings Jan