[BUG - WebGL] Rendering shader in WebGL causes various Ubuntu system issues

Bug report and files:

https://github.com/mc-imperial/shader-compiler-bugs/issues/46

Rendering the fragment shader in Chrome or Firefox using our clients leads to various system stability issues. In order of severity:

  • system freezes for a few seconds, then reports the GPU driver not being able to recover on the command line
  • system freezes for anywhere between a few seconds to 3 minutes, after which the user is logged out; upon relogging, the system appears stable
  • the one we observe routinely, system freezes indefinitely, until a manual reboot is performed

The freeze seems to be a X server freeze, rather than a full system freeze. However, the machine is inoperable, as the ttys cannot be accessed. The only solution to work on the machine is to ssh from another machine and use the command line exclusively. The X server is seen to completely fill one of the 16 cores with work. Killing the browser does not affect the X server hanging.

Verified with glslangValidator. OpenGL renders the image correctly.

  1. Operating system version.

Ubuntu 14.04.5

  1. Graphics hardware.

GeForce GTX Titan. Driver: 370.28

  1. Reproducer project.
    Due to potential abuse, the fragment shader is available upon request.

  2. Description of single steps to reproduce the problem.
    Navigate to http://htmlpreview.github.io/?https://github.com/mc-imperial/shader-compiler-bugs/blob/master/utils/webgl/webgl_viewer.html with the appropriate browser, enter the shader code in the provided text box and click “Start rendering (Execute)”.

  3. Description of the expected result.
    Correctly render an image, without affecting system stability.

Hi

I noticed that this, and my previous posts about other issues, have become hidden posts. If this is an accident then would it be possible to make them visible again? Otherwise, is there a contact at NVIDIA with whom we could discuss the issues over email?

Thanks

Andrei

Hi AL_ICL,

Thanks for your report.
We have filed an internal bug to resolve this issue and we will keep this thread updated for further progress.