Chrome 9 になってからシステムごとフリーズする症状が発生するようになってしまいました。どうもWebGLがデフォルトで有効になったことが関係しているようです。
症状と原因(?)
これまでChromeが重くなることはあっても、フリーズすることは一度も無かったのですが、何気なしに米国ライフハッカーを見ていたらChromeどころかシステムごとフリーズした様な状態になり、マウスカーソル以外何も操作を受け付けなくなりました。
ただ、別PCからSSHでログインし、コマンドでの再起動は受け付けたので完全にシステムが固まった訳ではないみたいです。
で、フリーズした時のログを見てみると…
[0x0-0x12e12e].com.google.Chrome[2940]: [2978:17931:22916742709098:ERROR:/b/build/slave/chrome-official-mac/build/src/chrome/gpu/gpu_watchdog_thread.cc(220)] The GPU process hung. Restarting after 10000 seconds.
GPUがハングしてると。
上のエラーでググってみたところ、Project Hosting on Google Codeで同様の症状で困っている人を発見。
これによると、Chrome 9 からデフォルトで有効になったWebGLが原因ではないかというので、試しに上記リンク先にあったWebGLが有効かどうかテストするサイトに飛んでみたところ、WebGLが有効であれば下の様にYayと表示されるはずが、見事にフリーズ。
ちなみに、無効な場合はNayと表示されます。
2度試しましたが、2回とも固まってくれました。
この症状が環境によるものなのか、Chromeのバグなのかは分かりませんが、とりあえずWebGLをOFFにできればフリーズ回避できそうです。しかし環境設定にはOFFにする項目が無い訳です。
どうにかOFFにできないかと調べると、ターミナルで下記コマンドを実行する方法ならwebGLをOFFできるようです。
ブラウザを起ち上げる度にターミナルを使うのは面倒なので、Chromeの実行ファイルに細工を施すことにしました。
とりあえずの回避方
下のコマンドを実行してChromeの実行ファイルをリネーム。
次に、リネームしたファイルを--disable-webglフラグ付きで実行するスクリプトを作成。
開いたファイルに下記を記入。
#!/bin/sh
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome-org --disable-webgl
実行権やら所有者やらグループやらを設定。
$ chmod 755 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $ sudo chown root:wheel /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
全部済んだらChromeを普通に起動して、WebGLが有効かどうかテストするサイトでWebGLがOFFになっている事を確認。
次回アップデートまでこれで凌ぐしか無いんですかね…。
スポンサード リンク