フォーラムで「どのフォルダを開いても固まる」という報告を読んだとき、まず気になったのは、空のフォルダでも起きているという一文でした。大きなリポジトリが原因ではない、ということになるからです。
最初にお伝えしたいのは、この件には公式の解決策が見当たらないという点です。報告は Parrot OS(Debian 系)、Wayland セッション、GeForce GTX 1060、ドライバ 550.163.01、Antigravity 1.107.0 を APT リポジトリから入れた環境のものでした。ウィンドウを開いて 15〜20 秒ほどで応答しなくなり、ログには「CodeWindow: detected unresponsive」が同じ間隔で繰り返し出ていたそうです。
私の手元は Mac で、この症状は再現できておりません。再現できないまま書くことに、少しためらいもありました。ここに書くのは、報告の内容から導ける切り分けの順番であり、直る保証ではありません。
すでに効かなかった対処を先に外す
報告者は、次の対処をすべて試したうえで改善しなかったと書いています。
- 拡張機能を無効にした起動(
--disable-extensions) - GPU 描画を無効にした起動(
--disable-gpu) - ファイル監視上限
fs.inotify.max_user_watchesの 524288 への引き上げ ~/.config/Antigravityの削除と再インストール- ファイルが 1 つだけのフォルダでの起動
同じ環境で困っている方は、これらを最初からやり直す必要はないかもしれません。拡張機能、GPU 描画、ファイル監視の上限、壊れた設定、フォルダの大きさ。ここまでの原因候補は、少なくとも 1 件の環境では外れた、ということです。
残る候補を、一度に一つずつ
手が止まるとき、私はつい複数の設定を同時に変えてしまいます。直ったときに何が効いたのか分からなくなるので、いまは一回の起動で変えるのは一項目だけにしています。
1. セッションの種類を変える
--disable-gpu が効かなかったので、描画だけの問題ではなさそうです。それでも Wayland と X11 の違いは別の層にあります。まず現在のセッションを確認します。
# どちらのセッションで動いているか
echo "$XDG_SESSION_TYPE"
# Nvidia ドライバが読めているか
nvidia-smi --query-gpu=name,driver_version --format=csv次に、X11 側のウィンドウとして起動してみます。--ozone-platform は Chromium 系の起動オプションで、IDE 側の対応状況までは私が確認できておりません。無視される可能性もあります。
antigravity --ozone-platform=x11動けばセッションまわり、変わらなければ別の層です。ログイン画面で X11 セッションを選び直す方法もあります。
2. ネットワークを切って起動する
報告者は、起動時のモデル一覧の並べ替えと選択(setSelectedModel)でメインスレッドが詰まっているのではないかと推測しています。これは仮説であって、確認された原因ではありません。
ただ、この仮説は安く試せます。モデル一覧が外部との通信に依存するなら、ネットワークを切った状態で挙動が変わるはずです。
# 有線ならケーブルを抜く、無線なら一時的に切る
nmcli radio wifi off
antigravity
# 確認後に戻す
nmcli radio wifi on固まる時間が変わる、あるいは固まらなくなれば、通信やアカウント周りに目を向ける材料になります。何も変わらなければ、この仮説は弱くなります。
3. 最小の設定領域で起動する
設定を消して入れ直しても直らなかったので、ユーザー設定が原因である可能性は低いはずです。それでも、別のディレクトリを指定して起動すれば、「この環境では何も引き継がない状態」が確実に作れます。
antigravity --user-data-dir /tmp/ag-clean --disable-extensions消したつもりで残っている場所(別の設定ディレクトリや環境変数)を、この方法で除外できます。
4. ログの繰り返しを数える
「detected unresponsive」が何秒おきに出るのか、そしてその直前に何が出力されているのかを見ます。ログの場所はバージョンによって異なるため、~/.config/Antigravity 配下の logs を探してください。
# 直近のログから該当行の前後を取り出す
grep -rn "unresponsive" ~/.config/Antigravity/logs 2>/dev/null | head -20直前の行がいつも同じなら、その処理が詰まりの入口です。フォーラムに報告するときも、その数行があると原因を絞り込んでもらいやすくなります。
報告するときに添えたい情報
同じ症状の方が書き込むなら、次の項目がそろうと比較しやすくなります。
- ディストリビューションとセッション(Wayland か X11)
- GPU の型番とドライバの版
- Antigravity の版とインストール方法(APT、tar など)
- 上で試した項目と、それぞれの結果
- 「unresponsive」が出る間隔と直前のログ行
固まった原因より先に、外れた原因を記録しておく。 切り分けが長引く日ほど、この線引きに助けられております。
まずは echo "$XDG_SESSION_TYPE" の結果と、ネットワークを切った状態の挙動の二点だけ、メモしてみていただければと思います。言語サーバーが応答しない症状と見分けたい場合は、言語サーバー再起動の前に確認すること も参考になります。