VRCT icon indicating copy to clipboard operation
VRCT copied to clipboard

geolocation.onetrust.comが何かしらの要因で接続できない場合にVRCTが起動に失敗する

Open fltuna opened this issue 1 year ago • 2 comments

結論

geolocation.onetrust.comがブロックされているか何かしらの要因で接続できない際にVRCTがエラーを吐いて一定確率で起動できません。

詳細

私のPCでは、諸事情で全ての通信を常時VPNを通して行っています。 私の使用しているVPNでは標準で、主に個人の特定のために使用されるサイトやドメインをブロックする機能が搭載されています。

その機能がgeolocation.onetrust.comをブロックしており、translators/server.pyのget_region_of_server関数内で例外が発生し、VRCTの起動に失敗します。

その他のURL、ip.taobao.com, httpbin.org, ip-api.com に関しては接続可能であったため、原因は geolocation.onetrust.com であると考えています。

また、このエラーは起動時に確実に発生するわけではなく、PC起動後(もしくはログオン後?)の初回~3回目にかけてほぼ確実に発生し、その後は稀に発生するか一切発生しない状態です。 また、管理者権限でVRCTを起動すると確実に回避出来ました。

普段管理者権限を必要としないソフトウェアを管理者権限で起動するのはあまり好ましくないのと、私の使用しているVPNのブロック機能が特定のサイトやドメインのみ許可することが出来ないため、大変わがままではありますが、もしよろしければ何かしらの対策をしていただけると助かります。

エラーログ

Error Log 1
  File "socket.py", line 962, in getaddrinfo
socket.gaierror: [Errno 11001] getaddrinfo failed

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "urllib3\connectionpool.py", line 793, in urlopen
  File "urllib3\connectionpool.py", line 491, in _make_request
  File "urllib3\connectionpool.py", line 467, in _make_request
  File "urllib3\connectionpool.py", line 1099, in _validate_conn
  File "urllib3\connection.py", line 616, in connect
  File "urllib3\connection.py", line 205, in _new_conn
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0x000001C559F71510>: Failed to resolve 'geolocation.onetrust.com' ([Errno 11001] getaddrinfo failed)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "requests\adapters.py", line 486, in send
  File "urllib3\connectionpool.py", line 847, in urlopen
  File "urllib3\util\retry.py", line 515, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='geolocation.onetrust.com', port=443): Max retries exceeded with url: /cookieconsentpub/v1/geo/location (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000001C559F71510>: Failed to resolve 'geolocation.onetrust.com' ([Errno 11001] getaddrinfo failed)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "translators\server.py", line 318, in get_region_of_server
  File "requests\api.py", line 73, in get
  File "requests\api.py", line 59, in request
  File "requests\sessions.py", line 589, in request
  File "requests\sessions.py", line 703, in send
  File "requests\adapters.py", line 519, in send
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='geolocation.onetrust.com', port=443): Max retries exceeded with url: /cookieconsentpub/v1/geo/location (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000001C559F71510>: Failed to resolve 'geolocation.onetrust.com' ([Errno 11001] getaddrinfo failed)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "translators\server.py", line 326, in get_region_of_server
AttributeError: 'NoneType' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "controller.py", line 5, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "model.py", line 18, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "models\translation\translation_translator.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "translators\__init__.py", line 5, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "translators\server.py", line 5439, in <module>
  File "translators\server.py", line 5169, in __init__
  File "translators\server.py", line 332, in get_region_of_server
RuntimeError: input(): lost sys.stdin

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 32, in <module>
PermissionError: [Errno 13] Permission denied: 'error.log'
Error Log 2
Traceback (most recent call last):
  File "requests\models.py", line 971, in json
  File "json\__init__.py", line 346, in loads
  File "json\decoder.py", line 337, in decode
  File "json\decoder.py", line 355, in raw_decode
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "translators\server.py", line 325, in get_region_of_server
  File "requests\models.py", line 975, in json
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "controller.py", line 5, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "model.py", line 18, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "models\translation\translation_translator.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "translators\__init__.py", line 5, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "translators\server.py", line 5439, in <module>
  File "translators\server.py", line 5169, in __init__
  File "translators\server.py", line 332, in get_region_of_server
RuntimeError: input(): lost sys.stdin

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 32, in <module>
PermissionError: [Errno 13] Permission denied: 'error.log'

その他

エラーログが長いため、Google FormではなくGitHubのIssueで報告いたしました。

もし、Google Formでの報告が良い場合は今後はそちらに送らせていただきます。

fltuna avatar Apr 24 '24 13:04 fltuna

すみません、必要な情報を書き忘れていました。 VRCTバージョン: 2.2.2 Windows: Windows 10 22H2 Build 19045.4291

fltuna avatar Apr 27 '24 01:04 fltuna

こんにちわ 翻訳機能の一部は translators を使用していて多分ここが影響していると思う。 こちらの開発をしているわけではないのでできるかわからないが確認してみるよ。 ありがとう

misyaguziya avatar Apr 29 '24 23:04 misyaguziya

始めに

マイナーで遭遇する方が少ないと思われるバグに対応していただき、本当にありがとうございます!

現在のところ、起動時の問題は発生していないことを確認済みです!詳細は以下の内容をご覧ください。

検証に使用した環境

  • OS: Windows 10 22H2 Build 19045.4412
  • VRCT: VRCT_v225_beta1 (ソフトウェア内表記は2.2.4)

直接関係無さそうなその他の情報は以下にまとめました。

クリックで表示
  • MB: ASUS TUF Z390-PLUS
  • CPU: Intel Core i7 9700k
  • GPU: ZOTAC RTX 2060 6GB
  • RAM: DDR4 2666 Mhz 64GB
  • Disk C(M.2, OS): WD Blue SN570 1TB
  • Disk D(SSD): CT1000MX500SSD 1TB
  • Disk F(HDD): WDC WD20EZAZ-00GGJB0 2TB
  • Disk G(HDD): WDC WD40EZRZ-00GXCB0 4TB
  • Disk H(SSD): SanDisk SDSSDH3 2T00 2TB
  • Disk K(SSD): WDC WDS500G2B0A-00SM50 500GB

VRCT.exe等の保存先:

  • 配布バージョンは Cドライブ
  • テストバージョンは Gドライブ

用語解説

詳細の一部項目に、一般的でない用語が含まれるため、以下にまとめました。

クリックで表示

Proton VPN

Net Shield

以下の機能が合わさったものです。また、特定ドメインのホワイトリスト化等の機能は存在しません。

  • アドブロック
  • トラッカーをブロック
  • マルウェアをホストしているドメインからのリソースのロードをブロック

公式の解説はこちら

Kill Switch

VPNの接続がない状態だと、ネットワークの接続を遮断する機能です。

  • Off: VPNの接続が断たれても接続が可能です。
  • On: VPNの接続が絶たれるとVPNの接続を使用していたソフトウェアの通信を遮断します。
  • Permanent: VPNの接続が絶たれると全ての通信を遮断します。 (また公式解説には書かれていませんがVPNアダプタ以外の通信も遮断するようです)

公式の解説はこちら

2024/05/30 21:50

結果

  • 問題なし
クリックで詳細を表示

PCの状態

  • PCの起動時間: 3日と24分
  • VPN: Proton VPN (Net Shield: 有効, Kill Switch: Permanent)

行ったこと

  • VRCTの初回起動
  • AIモデルのダウンロード

備考

VRCをデスクトップモードで起動していたのでそのまま使用できました。

2024/05/30 22:20

結果

  • 問題なし
クリックで詳細を表示

PCの状態

  • PCの起動時間: 2分 (再起動後でログオンした直後)
  • VPN: Proton VPN (Net Shield: 有効, Kill Switch: Permanent)

行ったこと

  • VRCTの起動

備考

10分程度後にVRCをデスクトップモードで起動し、そのまま使用できました。

2024/05/31 14:30

結果

  • 問題なし
クリックで詳細を表示

PCの状態

  • PCの起動時間: 17時間18分
  • VPN: Proton VPN (Net Shield: 有効, Kill Switch: Permanent)

行ったこと

  • VRCTの起動

備考

VRCをVRで起動していましたが、そのまま使用できました。

2024/05/31 18:40

結果

  • 問題なし
クリックで詳細を表示

PCの状態

  • PCの起動時間: 20時間24分
  • VPN: Proton VPN (Net Shield: 有効, Kill Switch: Permanent)

行ったこと

  • VRCTの起動

備考

VRCをデスクトップで起動中でしたが、そのまま使用できました。

2024/05/31 20:42

結果

  • 問題なし
クリックで詳細を表示

PCの状態

  • PCの起動時間: 22時間23分
  • VPN: Proton VPN (Net Shield: 有効, Kill Switch: Permanent)

行ったこと

  • VRCTの再起動

備考

VRCをデスクトップで起動中でしたが、そのまま使用できました。

fltuna avatar May 31 '24 06:05 fltuna

後もう少しだけ、様子を見て問題無さそうであれば、解決済みとしてこのIssueをCloseさせていただきます。

fltuna avatar May 31 '24 06:05 fltuna

確認ありがとうございます。 問題が解消して良かったです。 この修正を次回のアップデート時に折り込みます。

misyaguziya avatar May 31 '24 06:05 misyaguziya

問題は解決したと見られるため、IssueをCloseします。

調査並びに修正本当にありがとうございました! これからもVRCTの開発頑張ってください!応援しています!

fltuna avatar May 31 '24 11:05 fltuna