https://bugs.freedesktop.org/show_bug.cgi?id=91535
Bug ID: 91535 Summary: Chrome can cause a nouveau 'multiple instances of buffer' message when overlaying a menu leading to X lockup Product: xorg Version: unspecified Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: critical Priority: medium Component: Driver/nouveau Assignee: nouveau@lists.freedesktop.org Reporter: pure.lo...@nexus-software.ie QA Contact: xorg-t...@lists.x.org Chrome Version 44.0.2403.125 (64-bit) on ubuntu with libdrm-2.4.60, libdrm-2.4.56 and Peter Hurley's libdrm-2.4.60 with the fix applied for this bug : https://bugs.freedesktop.org/show_bug.cgi?id=89842#c19 can cause the kernel driver to reject validation of a push_buffer from the nouveau push_buffer logic in nouveau_pushbuf_kick, leading to the following message nouveau E[chrome[2737]] multiple instances of buffer 33 on validation list nouveau E[chrome[2737]] validate_init nouveau E[chrome[2737]] validate: -22 nouveau E[chrome[2737]] multiple instances of buffer 18 on validation list nouveau E[chrome[2737]] validate_init nouveau E[chrome[2737]] validate: -22 nouveau E[ PFIFO][0000:01:00.0] PFIFO: read fault at 0x0003e21000 [PAGE_NOT_PRESENT] from (unknown enum 0x00000000)/GPC0/(unknown enum 0x0000000f) on channel 0x007f80c000 [unknown] The following work-around works for me on Linux 4.2-rc4 http://www.gossamer-threads.com/lists/linux/kernel/2228405 Where I tell the kernel to 'continue' if it already has mapped memory specified in a push buffer for a given PID. Using that work-around means I still get the 'multiple instances' error message but, it's not treated as fatal and so far has been completely stable for me. The feedback from LKML was that this is probably a bug in libdrm. I've downloaded and run the test associated with bug 89842 i.e. libdrm-2.4.60/tests/nouveau/threaded.c using various versions of libdrm2 as suggested on LKML and I can confirm that the race condition the test tests for is not present. Launchpad PPA @ ppa:phurley/libdrm - 2.4.60 with bugfix 89842 applied does not fault on the threaded test libdrm-2.4.60/tests/nouveau/threaded.c but does get into a 'multiple instances' state on the nouveau push_buf list - again on the stock ubuntu kernel and the tip-of-tree 4.2-rcX deckard@aineko:~/Development/nouveau/libdrm-2.4.60$ dpkg -s libdrm2 Package: libdrm2 Status: install ok installed Priority: optional Section: libs Installed-Size: 106 Maintainer: Debian X Strike Force <debia...@lists.debian.org> Architecture: amd64 Multi-Arch: same Source: libdrm Version: 2.4.60-2ppa1~trusty1 Depends: libc6 (>= 2.17) Pre-Depends: multiarch-support Description: Userspace interface to kernel DRM services -- runtime This library implements the userspace interface to the kernel DRM services. DRM stands for "Direct Rendering Manager", which is the kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on Linux to provide hardware-accelerated OpenGL drivers. . This package provides the runtime environment for libdrm. deckard@aineko:~/Development/nouveau/libdrm-2.4.60$ uname -a Linux aineko 4.2.0-rc4+ #50 SMP Thu Jul 30 01:22:01 IST 2015 x86_64 x86_64 x86_64 GNU/Linux Chrome Version 44.0.2403.125 (64-bit) Steps to replicate: Run the version of chrome indicated above. Open a number of tabs to different websites. Click on the horizontal bars in the top right to get the drop-down menu, and hover the cursor over bookmarks or recent tabs. This process is a bit hit and miss and make take a unknown number of tabs/time to elicit the behaviour, sorry I can't be more concise at this point. It's not clear if bug 89842 will fix all or some of the issues reported in this Ubuntu thread : http://tinyurl.com/orvbzf3 but, I've verified the test program developed to debug that race condition doesn't cause a mjultiple instances message on my machine. 2014 Macbook pro - running bunutu 14.04, issue is present with stock ubuntu kernel and the 4.2-rcX kernel I'm using to debug this issue. 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 750M Mac Edition] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Apple Inc. Device 0130 Flags: bus master, fast devsel, latency 0, IRQ 45 Memory at c0000000 (32-bit, non-prefetchable) [size=16M] Memory at 80000000 (64-bit, prefetchable) [size=256M] Memory at 90000000 (64-bit, prefetchable) [size=32M] I/O ports at 1000 [size=128] Expansion ROM at c1000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting <?> Capabilities: [420] Advanced Error Reporting Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900] #19 Kernel driver in use: nouveau 01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1) Subsystem: Apple Inc. Device 0130 Flags: bus master, fast devsel, latency 0, IRQ 17 Memory at c1080000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Kernel driver in use: snd_hda_intel -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau