01月09日
Visual Studio Codeの統合ターミナルがプチフリーズ(ラグる)、原因はmacOS Big Sur
Visual Studio Code 1.52.1(以下vscode)をMid2015 + Big Sur 11.1で利用しています。
vscode上でシェルを動作させることができる統合ターミナルがあります。結構利用する機能なのですが問題が発生しています。
シェルでコマンドを入力中、キー操作中、たまに2、3秒固まり(ラグる)操作性が著しくなっています。
ここではmacOS Big Surの不具合が与える影響の一つをまとめています。
vscode上でシェルを動作させることができる統合ターミナルがあります。結構利用する機能なのですが問題が発生しています。
シェルでコマンドを入力中、キー操作中、たまに2、3秒固まり(ラグる)操作性が著しくなっています。
ここではmacOS Big Surの不具合が与える影響の一つをまとめています。
vscodeのgithubをチェックしたところ、ラグる対処方法がわかりました。
1)Integrated Terminal Lags Intermittently:https://github.com/microsoft/vscode/issues/105446
一時的な解決方法としてアプリのコード署名を削除する方法が記載されています。
codesign --remove-signature /Applications/Visual\ Studio\ Code.app/Contents/Frameworks/Code\ Helper\ \(Renderer\).app
Visual Studio Code.app本体ではなく、その中で使われているRendererアプリだけが影響を受けているようです。
メリット)統合ターミナルがラグることなく快適になる
デメリット)ウィルス対策ソフトでマルウェアとして認識されることがある
デメリット)アプリを再インストールしても削除した署名は元に戻らない模様
元に戻す方法がない感じなので、試せません・・・
さらに読み進めていくと、macOS Big Surのみで発生し、コード署名が影響を与えることがわかりました。
現象は常時発生し、300〜3000ミリ秒ロック、運が悪い時は3秒応答がないということがわかります。
2)child_process spawn locks up renderer for 300 - 3000ms on signed app on macOS Big Sur:https://github.com/electron/electron/issues/26143
これらIssueを読み進めると「アプリのコード署名」有無で動作が変わることが明らかになります。
ローカルコンパイルしたアプリ 快適
配布版アプリ ラグる
コード署名の有無で挙動が変わる=>Big Surが原因と思われるという感じです。
すでにアップルへバグレポート提出済みのようです。
vscode自体でも別方式を採用する流れが出来つつあります。
まとめ
・Big Surのコード署名周りには問題があり、想定外のアプリの挙動に影響を与える
node child_process spawnを利用しているプログラムはロック多発
プロセス、スレッドをロックする時間は300msから3000ms
オンライン・オフラインの違いはない
・影響を受けているアプリが特定できれば、アプリのコード署名を削除することで解決できる
・アプリのコード署名を削除するとマルウェア認定される、元に戻せない可能性がある
コメントシステムを利用したくない方はお問い合わせからお願いします。
2013.8.19 DISQUS(外部コメントサービス)の利用を開始しました。
Facebook, google, Twitter等のアカウントで投稿可能です。