[Nouveau] nouveau: kernel rejected pushbuf: Invalid argument

Ilia Mirkin imirkin at alum.mit.edu
Thu Apr 21 16:43:25 UTC 2016


If you (or Java, behind your back) is using an indirect draw, that
could explain the failures - I only got those "fully" right fairly
recently. These, and a few other matters, should be fixed with a more
recent mesa version - 11.2.1 was just released, I'd recommend trying
with that.

Another simple explanation is if your application is multithreaded and
is drawing concurrently from multiple threads -- this is plain
unsupported by nouveau. (Even though it can be done in ways that are
perfectly legal in GL.)

You could try to make an apitrace
(https://github.com/apitrace/apitrace/) to see what's actually going
on deep down inside. But do that after you update mesa.

On Thu, Apr 21, 2016 at 12:38 PM, Li, Stephen
<Steve.Li at imaginecommunications.com> wrote:
> Thanks for your response. I am able to capture a few more lines of the dump (see console-output.txt). dmesg output attached.
>
> My bitmap is 720x512. Below is the library versions, and amount of vram.
>
> Any feedback is appreciated.
>
> Thanks.
> Steve
>
> [steve at localhost ~]$ lspci -nn -d 10de:
> 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 430] [10de:0de1] (rev a1)
> 01:00.1 Audio device [0403]: NVIDIA Corporation GF108 High Definition Audio Controller [10de:0bea] (rev a1)
>
> [steve at localhost ~]$ rpm -qa | grep libdrm
> libdrm-2.4.60-3.el7.x86_64
> libdrm-devel-2.4.60-3.el7.x86_64
>
> [steve at localhost ~]$ rpm -qa | grep mesa
> mesa-libxatracker-10.6.5-3.20150824.el7.x86_64
> mesa-libGLU-devel-9.0.0-4.el7.x86_64
> mesa-private-llvm-3.6.2-2.el7.x86_64
> mesa-filesystem-10.6.5-3.20150824.el7.x86_64
> mesa-libGL-10.6.5-3.20150824.el7.x86_64
> mesa-libGLU-9.0.0-4.el7.x86_64
> mesa-libglapi-10.6.5-3.20150824.el7.x86_64
> mesa-libgbm-10.6.5-3.20150824.el7.x86_64
> mesa-dri-drivers-10.6.5-3.20150824.el7.x86_64
> mesa-libGL-devel-10.6.5-3.20150824.el7.x86_64
> mesa-libEGL-10.6.5-3.20150824.el7.x86_64
>
> [steve at localhost ~]$ lspci -v -s 01:00.0
> 01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 430] (rev a1) (prog-if 00 [VGA controller])
>         Subsystem: ASUSTeK Computer Inc. Device 83c3
>         Flags: bus master, fast devsel, latency 0, IRQ 27
>         Memory at da000000 (32-bit, non-prefetchable) [size=16M]
>         Memory at d0000000 (64-bit, prefetchable) [size=128M]
>         Memory at d8000000 (64-bit, prefetchable) [size=32M]
>         I/O ports at 2000 [size=128]
>         [virtual] Expansion ROM at db080000 [disabled] [size=512K]
>         Capabilities: <access denied>
>         Kernel driver in use: nouveau
>
>
> -----Original Message-----
> From: ibmirkin at gmail.com [mailto:ibmirkin at gmail.com] On Behalf Of Ilia Mirkin
> Sent: April-21-16 11:29 AM
> To: Li, Stephen
> Cc: nouveau at lists.freedesktop.org
> Subject: Re: [Nouveau] nouveau: kernel rejected pushbuf: Invalid argument
>
> On Thu, Apr 21, 2016 at 11:17 AM, Li, Stephen <Steve.Li at imaginecommunications.com> wrote:
>> Hi,
>>
>>
>>
>> I am getting a crash in nouveau in my application. It’s basically a
>> java application, and I am loading a bitmap into an opengl texture and
>> showing it in a panel. Below is a snippet of the console output.
>> Sometimes I will get a lock up instead of a crash. My whole desktop
>> will lock up, but I can still move the mouse pointer around.
>>
>>
>>
>> Please let me know if you need more information. Your help is appreciated.
>>
>>
>>
>> Thanks
>>
>> Steve
>>
>>
>>
>> #
>>
>> # A fatal error has been detected by the Java Runtime Environment:
>>
>> #
>>
>> #  SIGSEGV (0xb) at pc=0x00007f38aa5da694, pid=26497,
>> tid=139881124730624
>>
>> #
>>
>> # JRE version: Java(TM) SE Runtime Environment (8.0_65-b17) (build
>> 1.8.0_65-b17)
>>
>> # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.65-b01 mixed mode
>> linux-amd64 compressed oops)
>>
>> # Problematic frame:
>>
>> # C  [libdrm_nouveau.so.2+0x3694]
>>
>> #
>>
>> # Failed to write core dump. Core dumps have been disabled. To enable
>> core dumping, try "ulimit -c unlimited" before starting Java again
>>
>> #
>>
>> # An error report file with more information is saved as:
>>
>> # /home/steve/Documents/hs_err_pid26497.log
>>
>> nouveau: kernel rejected pushbuf: Invalid argument
>>
>> nouveau: ch0: krec 0 pushes 1 bufs 36 relocs 0
>>
>> nouveau: ch0: buf 00000000 00000003 00000004 00000004 00000000
>>
>> nouveau: ch0: buf 00000001 00000003 00000004 00000004 00000000
>>
>> nouveau: ch0: buf 00000002 0000000e 00000002 00000002 00000002
>>
>> nouveau: ch0: buf 00000003 00000007 00000002 00000002 00000000
>
>
> The rest of this dump can provide useful information.
>
> Also what was logged in dmesg? It will have the reason why the kernel hated this submit.
>
> Also... what hardware do you have (lspci -nn -d 10de: output would be great)? libdrm version? mesa version?
>
> How big is your texture? How much VRAM do you have?
>
>   -ilia
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com ______________________________________________________________________
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________


More information about the Nouveau mailing list