[PATCH] drm/nouveau/gem: tolerate a buffer specified multiple times

Bryan O'Donoghue pure.logic at nexus-software.ie
Fri Jul 31 02:53:03 PDT 2015


On 31/07/15 01:03, Bryan O'Donoghue wrote:
> On 30/07/15 22:45, Peter Hurley wrote:
>> [ +cc Debian maintainer ]
>>
>> On 07/30/2015 11:26 AM, Emil Velikov wrote:
>>> On 30 July 2015 at 16:02, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>> On Thu, Jul 30, 2015 at 10:56 AM, Bryan O'Donoghue
>>>> <pure.logic at nexus-software.ie> wrote:
>>>>> On 30/07/15 15:52, Bryan O'Donoghue wrote:
>>>>>>
>>>>>> On 30/07/15 15:49, Peter Hurley wrote:
>>>>>>>
>>>>>>> On 07/30/2015 10:12 AM, Ilia Mirkin wrote:
>>>>>>>>
>>>>>>>> Is this happening with libdrm 2.4.60? If so, that's a known
>>>>>>>> (user-side) issue and should be fixed by using any version but that
>>>>>>>> one.
>>>>>>>
>>>>>>>
>>>>>>> What's the freedesktop bugzilla # for reference?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Peter Hurley
>>>>>>
>>>>>>
>>>>>> I believe it's this one
>>>>>>
>>>>>> https://bugs.freedesktop.org/show_bug.cgi?id=89842#c19
>>>>>>
>>>>>
>>>>> Not really a world of choice on ubuntu to fix it though...
>>>>>
>>>>> deckard at aineko:~/Development/projectara$ apt-show-versions libdrm2
>>>>> libdrm2:amd64/trusty-updates 2.4.60-2~ubuntu14.04.1 uptodate
>>>>> libdrm2:i386/trusty-updates 2.4.60-2~ubuntu14.04.1 uptodate
>>>>>
>>>>> :(
>>>>
>>>> That's unfortunate. I know next to nothing about debian/ubuntu or how
>>>> they do versions or how to even build packages for them. But they're
>>>> big distros, presumably they have support teams of some sort, perhaps
>>>> they can help you.
>>>>
>>>> Assuming that switching away does resolve the issue for you, perhaps
>>>> you can also recommend that they avoid shipping that version, or
>>>> include this nouveau fix in it:
>>>>
>>>> http://cgit.freedesktop.org/mesa/drm/commit/?id=812e8fe6ce46d733c30207ee26c788c61f546294
>>>>
>>>>
>>> Fwiw debian has been tracking this as #789759, and they are shipping
>>> 2.4.62 which includes the fix.
>>
>> Unfortunately the LTS version of Ubuntu (trusty) was updated to 2.4.60
>> several days ago without this fix.
>>
>> I repackaged libdrm 2.4.60 with only the bug fix above and confirm the
>> patch above fixes the observed behavior in freedesktop bug# 89842/
>> debian bug# 789759.
>>
>> I pushed the repackage to Launchpad PPA @ ppa:phurley/libdrm
>>
>> Hopefully the Debian maintainer grabs this fix and updates the official
>> distribution version soon.
>>
>> Regards,
>> Peter Hurley
>
> Yep.
>
> Dropping down to 2.4.56-1~ubuntu2 definitely removes the
>
> 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]
>
> and hard lock-up of X. I'll update these guys with the fix
>
> http://tinyurl.com/orvbzf3

Hmm.

Interesting - I spoke way too soon on that.

Left my machine up overnight and lo and behold now that I do a dmesg I 
see...

nouveau E[chrome[2870]] multiple instances of buffer 16 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 24 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 167 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 251 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 248 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 249 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 230 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 253 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 255 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 230 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 257 on validation list
nouveau E[chrome[2870]] multiple instances of buffer 230 on validation list

deckard at aineko:~$ dpkg -s libdrm2
Package: libdrm2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 106
Maintainer: Ubuntu X-SWAT <ubuntu-x at lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: libdrm
Version: 2.4.56-1~ubuntu2
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.
Orig-Maintainer: Debian X Strike Force <debian-x at lists.debian.org>

deckard at aineko:~$ 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

Please note - this machine has the fix I proposed in the original patch 
applied so X is not locking up when the multiple instances message happens.

In any case to answer the original question - I don't believe switching 
away from 2.4.60 will resolve this issue and similarly then Ilia - do 
you happen to know if 2.4.56 should have the bug ? Should I now be using 
a version of libdrm2 which is good ???

Bryan


More information about the dri-devel mailing list