RESOLVED WORKSFORME 92139
WebGL GPGPU page causes browser and MacOS to hang requiring hard reboot
https://bugs.webkit.org/show_bug.cgi?id=92139
Summary WebGL GPGPU page causes browser and MacOS to hang requiring hard reboot
Stephen Bannasch
Reported 2012-07-24 10:28:19 PDT
We are developing open source physics simulations and visualizations: http://lab.dev.concord.org/ One of the modeling engines is called Energy2D. Energy2D implements a number of fluid-dynamics modeling steps in other to simulate conductive and convective heat flow. Here is a simple example that only simulates conductive heat flow: http://lab.dev.concord.org/examples/energy2d-model/energy2d-model.html#interactives/imports/conduction1.json I've fixed Retina display issues for the deployed Safari but there are new Retina-related display issues in Nightly Webkit on that page -- but that is not what this bug report is about. We are starting to develop WebGL-based GPGPU versions of the fluid-dynamics solvers. We have implemented a Heat Solver using WebGL. Here are two links to a page which allows you to switch between CPU (JavaScript) and WebGL versions of the Heat Solver: 100x100 cell grid: http://lab.dev.concord.org/examples/energy2d-gpu-model/energy2d-model.html#interactives/conduction100.json 512x512 cell grid: http://lab.dev.concord.org/examples/energy2d-gpu-model/energy2d-model.html#interactives/conduction512.json When I test these pages on Mac OS 10.6 using either Safari v5.1.7 or Webkit Nightly with WebGL enabled in the browser AND on the page the model runs. However when I open the 512x512 page on a 2012 Retina MacBook Pro running 10.7.4 and enable WebGL on the page and run the model the browser and operating system become unresponsive and I have to do a hard-poweroff and restart the computer.
Attachments
Stephen Bannasch
Comment 1 2012-07-24 10:32:48 PDT
When I open the same 512x512 page on the Retina MacBook Pro running 10.7.4 in other browsers the model (with WebGL solver enabled) operates properly: http://lab.dev.concord.org/examples/energy2d-gpu-model/energy2d-model.html#interactives/conduction512.json Chrome 20.0.1132.57 Chrome 22.0.1216.0 canary Firefox 13.0.1
Stephen Bannasch
Comment 2 2012-07-24 10:35:11 PDT
The same crash occurs running the WebGL-enabled model in the much smaller 100x100 cell version: 100x100 cell grid: http://lab.dev.concord.org/examples/energy2d-gpu-model/energy2d-model.html#interactives/conduction100.json
Stephen Bannasch
Comment 3 2012-07-24 10:36:21 PDT
The code for the whole project is available in a public git repository here: https://github.com/concord-consortium/lab
Stephen Bannasch
Comment 4 2012-07-24 12:11:11 PDT
Crash did NOT occur testing on a non-Retina 2.4 GHz Intel Core i7 8GB RAM MacBook Pro running Mac OS X 10.7.4 and Safari 5.1.7 7534.57.2
Stephen Bannasch
Comment 5 2012-07-26 10:50:24 PDT
The problem is NOT due to the specific WebGL page I shared. The same crashing behavior occurs for even the simplest webgl page: http://get.webgl.org/ After about 2s of the cube spinning the browser and OS lockup.
Stephen Bannasch
Comment 6 2012-07-26 11:00:28 PDT
Here's a similar report of a hard crash from a Retina MacBook Pro user oping a WebGL page: https://discussions.apple.com/thread/4031274?start=0&tstart=0 I have a hard time imagining how Apple could release a browser that allowed someone to enable WebGL if running a WebGL pagehas that dire an effect ...?? Perhaps it only occurs on certain machines? Now I'm very curious to find out if ANYBODY with a similar Mac can load http://get.webgl.org/ in Safari without problem.
Kenneth Russell
Comment 7 2012-08-27 15:36:50 PDT
The same problem is occurring with anything more than very basic WebGL content, such as the WebGL Aquarium: http://webglsamples.googlecode.com/hg/aquarium/aquarium.html . MacBook Pro Retina Display running 10.8.1 and WebKit r126323 (nightly), as well as the installed Safari 6.0.
Radar WebKit Bug Importer
Comment 8 2012-08-27 15:44:51 PDT
Kenneth Russell
Comment 9 2012-08-27 16:36:54 PDT
Note: Dean Jackson from Apple indicated that a hang was fixed in the current 10.8.2 seed, and I can confirm from testing with that seed that the lockup running the WebGL Aquarium in Safari and WebKit is fixed.
Dean Jackson
Comment 10 2012-08-28 12:44:37 PDT
Indeed - we're unable to reproduce this on 10.8.2 seeds. If you have access, we'd really appreciate you testing there also. (To be clear, we believe we know the root cause and have explicitly fixed it for 10.8.2)
Stephen Bannasch
Comment 12 2012-08-28 14:26:26 PDT
Hard crash which requires forcing a power-cycle still occurs using these models with WebGL Enabled in Safari 6 on 10.7.4.
Dean Jackson
Comment 13 2012-08-28 16:26:25 PDT
I'm glad 10.8.1 fixed this. I doubt there will be another update to 10.7 that will, sorry. I'm going to mark this bug as resolved.
Note You need to log in before you can comment on or make changes to this bug.