From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 74726] New: r600g: unrecoverable GPU lockup after glDrawElements INVALID_ENUM Date: Sat, 08 Feb 2014 22:31:09 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1872411908==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 7EA8DFA635 for ; Sat, 8 Feb 2014 14:31:09 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1872411908== Content-Type: multipart/alternative; boundary="1391898669.E6AFFD4B0.21425"; charset="us-ascii" --1391898669.E6AFFD4B0.21425 Date: Sat, 8 Feb 2014 22:31:09 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://bugs.freedesktop.org/show_bug.cgi?id=74726 Priority: medium Bug ID: 74726 Assignee: dri-devel@lists.freedesktop.org Summary: r600g: unrecoverable GPU lockup after glDrawElements INVALID_ENUM Severity: normal Classification: Unclassified OS: All Reporter: edwin+mesa@etorok.net Hardware: Other Status: NEW Version: git Component: Drivers/Gallium/r600 Product: Mesa Created attachment 93679 --> https://bugs.freedesktop.org/attachment.cgi?id=93679&action=edit corrupt.trace If you send a lot of invalid glDrawElements commands to Mesa it can cause a GPU lockup. Would it be possible to validate this Mesa side / or kernel CS checker side to avoid the GPU lockup? [1] If you replay the attached trace on r600g you get a GPU lockup, see attachments: * gpureset.log: dmesg when reboot is the only solution, no text console, no X, nothing works until a reboot * text_recovered.log: dmesg when I can kill the application and X, and get to a framebuffer text console. Starting X is impossible though, unless I reboot I've run the trace under valgrind, and I see no valgrind errors, but of course I see a lot of Mesa errors. The mesa errors shouldn't cause a GPU lockup though. I reproduced this with the 10.1 branch, but similar lockups happen on the 10.0.2 release too (if you force the version to 3.3), so it doesn't seem to be related to the 3.3 work on the 10.1 branch. Mesa built like this: $ ./configure --enable-dri --enable-glx-tls --enable-shared-glapi --enable-texture-float --enable-xa --disable-xvmc --disable-vdpau --with-gallium-drivers=r600,swrast LLVM_CONFIG=/usr/bin/llvm-config-3.4 --disable-dri3 --enable-debug OpenGL version: OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RV730 OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.0-rc1 (git-1e6bba5) OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 10.1.0-rc1 (git-1e6bba5) OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: kernel: $ uname -a Linux debian 3.14.0-rc1-00015-g7c4c62a #48 SMP PREEMPT Sat Feb 8 17:33:48 EET 2014 x86_64 GNU/Linux [1] There are some use-after-free bugs in the gltut tutorials when you press Escape: it frees some stuff, then calls glutLeaveMainLoop(), but freeglut still calls display(), causing use-after-frees. Of course its expected that the application itself might crash, or otherwise misbehave, but I was not expecting an unrecoverable GPU lockup. -- You are receiving this mail because: You are the assignee for the bug. --1391898669.E6AFFD4B0.21425 Date: Sat, 8 Feb 2014 22:31:09 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
Priority medium
Bug ID 74726
Assignee dri-devel@lists.freedesktop.org
Summary r600g: unrecoverable GPU lockup after glDrawElements INVALID_ENUM
Severity normal
Classification Unclassified
OS All
Reporter edwin+mesa@etorok.net
Hardware Other
Status NEW
Version git
Component Drivers/Gallium/r600
Product Mesa

Created attachment 93679 [details]
corrupt.trace

If you send a lot of invalid glDrawElements commands to Mesa it can cause a GPU
lockup. Would it be possible to validate this Mesa side / or kernel CS checker
side to avoid the GPU lockup? [1]

If you replay the attached trace on r600g you get a GPU lockup, see
attachments:
 * gpureset.log: dmesg when reboot is the only solution, no text console, no X,
nothing works until a reboot
 * text_recovered.log: dmesg when I can kill the application and X, and get to
a framebuffer text console. Starting X is impossible though, unless I reboot

I've run the trace under valgrind, and I see no valgrind errors, but of course
I see a lot of Mesa errors. The mesa errors shouldn't cause a GPU lockup
though.

I reproduced this with the 10.1 branch, but similar lockups happen on the
10.0.2 release too (if you force the version to 3.3), so it doesn't seem to be
related to the 3.3 work on the 10.1 branch.

Mesa built like this:
$ ./configure --enable-dri --enable-glx-tls --enable-shared-glapi
--enable-texture-float --enable-xa --disable-xvmc --disable-vdpau
--with-gallium-drivers=r600,swrast LLVM_CONFIG=/usr/bin/llvm-config-3.4
--disable-dri3 --enable-debug

OpenGL version:

OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD RV730
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.0-rc1
(git-1e6bba5)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.1.0-rc1 (git-1e6bba5)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

kernel:
$ uname -a
Linux debian 3.14.0-rc1-00015-g7c4c62a #48 SMP PREEMPT Sat Feb 8 17:33:48 EET
2014 x86_64 GNU/Linux


[1]
There are some use-after-free bugs in the gltut tutorials when you press
Escape: it frees some stuff, then calls glutLeaveMainLoop(), but freeglut still
calls display(), causing use-after-frees. Of course its expected that the
application itself might crash, or otherwise misbehave, but I was not expecting
an unrecoverable GPU lockup.


You are receiving this mail because:
  • You are the assignee for the bug.
--1391898669.E6AFFD4B0.21425-- --===============1872411908== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1872411908==--