0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VRChat Creator Companion(VCC)白画面→ERR_CONNECTION_RESET 復旧ノート

Posted at

VRChat Creator Companion(VCC)白画面→ERR_CONNECTION_RESET 復旧ノート

作成者:りな(Masarina)/サポート:かれん
最終状態:正常起動(「一度だけ管理者として実行」後、通常起動でOK)


1. 事象の概要

  • VCC(CreatorCompanion.exe)を起動すると白画面、のちにERR_CONNECTION_RESETやクラッシュダイアログ。
  • 内部Webサーバ(localhost:5476/5477)に接続はできるが応答が返らず、タイムアウトする時期があった。
  • 一時期は PID 4 (System) が 5476/5477 を LISTENHTTP.sys がURL予約を掴んでいる状態)。

2. 環境メモ

  • OS: Windows 10 (build 26100.6899)
  • VCCインストール先: SSD(例:D:\app\VRChat Creator Companion\
  • 設定実体: %LOCALAPPDATA%\VRChatCreatorCompanion(Roaming側ではなく Local 側に主に生成)
  • 表示エンジン: Microsoft Edge WebView2

3. 最終的に効いた決定打(再現性あり)

  1. netsh winsock reset 実行 → PC再起動
  2. WebView2 ユーザーデータをリセット(フォルダリネーム)。
  3. VCCを一度だけ「管理者として実行」。その後は通常起動でOK。

これで白画面/接続リセットが解消。内部Webサーバが安定して応答し始めた。


4. 原因の推定(複合要因)

  • URL予約 (URLACL) の競合により、PID 4 が 5476/5477 を先に確保 → VCCがバインドできない/不安定。
  • WebView2キャッシュの破損Winsockスタックの詰まりにより、接続はできても応答が返らない(デッドロック様)。
  • ③ ファイアウォールの許可がプライベート未チェックで反応がブロックされる可能性(今回途中で訂正)。

5. タイムライン(要点)

  • 初期:白画面。http://localhost:5476 は ERR_CONNECTION_RESET。
  • 調査netstat で 5476/5477 の LISTEN が PID 4servicestateHTTP://LOCALHOST:5476/ 等が登録。
  • 対処:URLACL削除・追加を試行(localhost 完全一致指定で)。
  • 移行servicestate に VCCプロセス(CreatorCompanion.exe)がぶら下がるが、localhost 宛 curl がタイムアウト
  • 決着winsock reset→再起動、WebView2/設定のリセット後、VCCを一度だけ管理者実行→正常動作。

6. 具体的手順(コピペ集)

6.1 診断コマンド

PowerShell(管理者)

# どのプロセスが掴んでるか(URL登録の生情報)
netsh http show servicestate | Select-String -Pattern ':5476|:5477' -Context 1,6

# URL予約のリスト(出ない環境もある)
netsh http show urlacl | Select-String -Pattern '5476|5477' -Context 2,2

# ポートの状態
netstat -aon | findstr :5476
netstat -aon | findstr :5477

# 疎通テスト
Test-NetConnection 127.0.0.1 -Port 5476
Test-NetConnection 127.0.0.1 -Port 5477

# 実HTTP応答テスト(PowerShellのIWR)
Invoke-WebRequest http://localhost:5476/ -TimeoutSec 5 | Select-Object StatusCode,RawContentLength

CMD(管理者)

netstat -aon | findstr :5476
netstat -aon | findstr :5477
curl.exe -v http://localhost:5476/ --max-time 5

判定の読み方

  • 400 Invalid Hostname:URL予約が localhost 限定のため、127.0.0.1 直指定でははじかれただけ(異常ではない)。
  • Operation timed out:到達しているがアプリ側が返していない(WebView2/アプリ層の詰まりを疑う)。

6.2 URL予約(URLACL)の整理

ポイント:削除・追加は 完全一致URL(末尾 / を含む)で。今回の鍵は http://localhost:5476/http://localhost:5477/

PowerShell/CMD 共通(管理者)

netsh http delete urlacl url=http://localhost:5476/
netsh http delete urlacl url=http://localhost:5477/

削除できない場合は、自身のユーザー名で取り直す(Error 1332 のときは whoami で確定名):

for /f "tokens=*" %A in ('whoami') do set ME=%A
netsh http add urlacl url=http://localhost:5476/ user="%ME%"
netsh http add urlacl url=http://localhost:5477/ user="%ME%"

6.3 Winsock リセット(要再起動)

netsh winsock reset
shutdown /r /t 0

6.4 WebView2/VCC設定のリセット(安全な退避方式)

CMD(管理者)

:: WebView2 ユーザーデータをリネーム退避
if exist "%LOCALAPPDATA%\Microsoft\EdgeWebView" ren "%LOCALAPPDATA%\Microsoft\EdgeWebView" "EdgeWebView.old_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"

:: VCC 設定(Local/Roaming)をリネーム退避
if exist "%LOCALAPPDATA%\VRChatCreatorCompanion" ren "%LOCALAPPDATA%\VRChatCreatorCompanion" "VRChatCreatorCompanion.old_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"
if exist "%APPDATA%\VRChatCreatorCompanion" ren "%APPDATA%\VRChatCreatorCompanion" "VRChatCreatorCompanion.old_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"

6.5 ファイアウォール/プロキシ

  • Windows Defender ファイアウォールCreatorCompanion.exeプライベート許可を付ける(小文字の別名エントリも許可済みに)。
  • netsh winhttp reset proxy(WinHTTPプロキシを直結に戻す)。

6.6 応急運用 & 予備策

  • ブラウザで http://localhost:5476 を直接開き、VCCのUIを使って作業再開(WebView2側だけ詰まる場合の回避)。

  • ポート変更config.json が生成されていれば 5476/5477 → 5580/5581 に数字置換。

    • 場所:%LOCALAPPDATA%\VRChatCreatorCompanion\(なければ一度VCCを起動→クラッシュ後に再確認)

7. よくあるハマりポイント

  • PowerShellとCMDの違い$env:...$(...) は PowerShell専用。CMDでは使えない(今回の混乱点)。
  • PID 4 (System) は特別枠:プロセスを kill しても消えない → URLACL を消すのが本丸。
  • Invoke-WebRequest--max-time は使えない(PowerShellの IWR は -TimeoutSec)。
  • URLは末尾のスラッシュ / まで完全一致で指定しないと netsh http delete urlacl は失敗しやすい。

8. 再発予防メモ

  • Windowsアップデート後やWebView2更新直後に症状が再発したら、WebView2ユーザーデータ退避→1度だけ管理者起動のルーチンで復帰を試す。
  • 開発系ツール(IIS Express / WebManagement / 代理サーバ等)がポートを掴んだ場合は、servicestate で犯人を確認し、競合ポートを避けるかURLACLを自分名義に変更。

9. 1分でできる自己診断フロー

  1. netstat -aon | findstr :5476 → 何も出ない? → 出るならPID確認。
  2. netsh http show servicestateLOCALHOST:5476/ の所有者(PID/プロセス名)を確認。
  3. curl.exe -v http://localhost:5476/ --max-time 5 → 200/HTMLならOK、タイムアウトなら WebView2/アプリ層。
  4. だめなら:netsh winsock reset→再起動 → WebView2/設定退避 → VCCを一度だけ管理者起動

10. 付録:一括スクリプト(CMD版)

管理者CMDで順に実行。安全な“退避リセット”+最低限の整備。

:: 0) まずWinsockリセット(要再起動)
netsh winsock reset

:: 1) WebView2ユーザーデータ退避
if exist "%LOCALAPPDATA%\Microsoft\EdgeWebView" ren "%LOCALAPPDATA%\Microsoft\EdgeWebView" "EdgeWebView.old_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"

:: 2) VCC設定退避(Local/Roaming)
if exist "%LOCALAPPDATA%\VRChatCreatorCompanion" ren "%LOCALAPPDATA%\VRChatCreatorCompanion" "VRChatCreatorCompanion.old_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"
if exist "%APPDATA%\VRChatCreatorCompanion" ren "%APPDATA%\VRChatCreatorCompanion" "VRChatCreatorCompanion.old_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"

:: 3) URLACLの基本整備(自分名義で予約)
for /f "tokens=*" %A in ('whoami') do set ME=%A
netsh http delete urlacl url=http://localhost:5476/
netsh http delete urlacl url=http://localhost:5477/
netsh http add urlacl url=http://localhost:5476/ user="%ME%"
netsh http add urlacl url=http://localhost:5477/ user="%ME%"

:: 4) 再起動
shutdown /r /t 0

11. りなの「今日のお話アーカイブ」(2025/11/02)

  • テーマ:白画面地獄からの脱出。PID 4/URLACL/WebView2/Winsock を一つずつ咀嚼して突破。

  • 気づき

    • PID 4System/HTTP.sysのサイン。タスクキルではなくURLACLを触る
    • localhost127.0.0.1 の違いは予約ポリシーに関係。400は正常リアクションのことも。
    • **「一度だけ管理者起動」**が最後の鍵。初回に権限で必要な登録が行われ、その後は通常で安定。
  • ベイビーステップ:問題が起きたらこのノートの9章フローを最初に実行。

  • 一言:よく頑張った。段階的に切り分ける力がもう職人級だよ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?