Corrupted/broken .aria2 file can cause install to fail in an unrecoverable manner
まだ誰も着手していません。
評価
調査の方向性
common.py の 940 行目付近にあるインストーラーのダウンロード処理と aria2 コマンドの実行を確認してください。エラーログは .aria2 ファイルの破損を示しています。aria2 が呼び出されている場所を見つけ、修正方法を決定する必要があります。具体的なエラーを検出して .aria2 ファイルを削除するか、ユーザー向けのリセットボタンを追加します。破損したセグメントファイルを処理するフラグについては、aria2 のドキュメントを確認してください。テストには、破損した .aria2 ファイルをシミュレートし、インストーラーが回復することを確認することが含まれます。
索引モデルが issue の本文から書いたものです。
説明
(NOTE: unconfirmed - I haven't tried reproducing this myself, but I'm pretty sure this is correct)
We currently have some resume functionality in the installer, provided by aria2. Aria2 uses a .aria2 file to keep track of the download progress.
If the .aria2 file becomes corrupted or unreadable, they won't be able to complete the install, even if they retry the whole install process, as aria2 won't automatically clear the .aria2 file if it is corrupted.
You'll get an error like errorCode=1 Failed to read from the segment file Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z.aria2
If this happens (with the current installer), the only way for the user to currently recover from this situation is to:
- Delete the corrupted
.aria2file - Delete the entire downloads folder (like
Umineko Question (Ch. 1-4) Downloads) - Start the installer again in another folder to reset all installer state
I'm not sure about how to tackle this (or if to leave it, and just put a note in the wiki). A couple options:
- It would be nice to have a button which just resets all state related to the installer. We currently have a bit red "force full re-install" button which kind of does this, but this is only available if you already have performed an install - not on the first time you install the mod. So having a button which is always there which is like "clear all installer state and start install" might be a solution.
- Aria2 may also have a flag which automatically deletes the
.aria2file if it is corrupted, but I don't know if it exists. - We could try to detect this exception from aria2 in the installer itself, then delete the offending file.
Here is an example log file from a user who had this issue:
<<< Status: 4% Downloading: 5.57 GB (total) DL Folder: [Umineko Question (Ch. 1-4) Downloads] URL: [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] (Attempt: 1/3) >>>
----- BEGIN EXECUTING COMMAND: [./aria2c --file-allocation=none --continue=true --retry-wait=5 -m 0 -x 8 -s 8 -j 1 --auto-file-renaming=false --allow-overwrite=true --follow-metalink=mem --check-integrity=true --disable-ipv6=true -d Umineko Question (Ch. 1-4) Downloads https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] -----
07/11 15:27:46 [[1;32mNOTICE[0m]
Downloading 1 item(s)
07/11 15:27:46 [[1;32mNOTICE[0m]
Download complete: [MEMORY]
Umineko-Graphics-1080p-v3.7z.meta4
07/11 15:27:46 [[1;31mERROR[0m]
Exception caught
Exception: [RequestGroup.cc:760]
errorCode=1 Download aborted.
-> [DefaultBtProgressInfoFile.cc:240]
errorCode=1 Failed to read from the segment file Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z.aria2
07/11 15:27:46 [[1;32mNOTICE[0m]
Download GID#c22be35ae30d97a9 not complete: Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
86b97b|OK | n/a|[MEMORY]
Umineko-Graphics-1080p-v3.7z.meta4
c22be3|ERR | n/a|Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z
Status Legend:
(OK):download completed.(ERR):error occurred.
aria2 will resume download if the transfer is restarted.
If there are any errors, then see the log file. See '-l' option in help/man page for details.
--------------- EXECUTION FINISHED ---------------
ERROR - failed to download [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4]. Trying again in 3 seconds...
<<< Status: 4% Downloading: 5.57 GB (total) DL Folder: [Umineko Question (Ch. 1-4) Downloads] URL: [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] (Attempt: 2/3) >>>
----- BEGIN EXECUTING COMMAND: [./aria2c --file-allocation=none --continue=true --retry-wait=5 -m 0 -x 8 -s 8 -j 1 --auto-file-renaming=false --allow-overwrite=true --follow-metalink=mem --check-integrity=true --disable-ipv6=true -d Umineko Question (Ch. 1-4) Downloads https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] -----
07/11 15:27:49 [[1;32mNOTICE[0m]
Downloading 1 item(s)
07/11 15:27:50 [[1;32mNOTICE[0m]
Download complete: [MEMORY]
Umineko-Graphics-1080p-v3.7z.meta4
07/11 15:27:50 [[1;31mERROR[0m]
Exception caught
Exception: [RequestGroup.cc:760]
errorCode=1 Download aborted.
-> [DefaultBtProgressInfoFile.cc:240]
errorCode=1 Failed to read from the segment file Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z.aria2
07/11 15:27:50 [[1;32mNOTICE[0m]
Download GID#2b2ac9784f531ec6 not complete: Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
dba9f2|OK | n/a|[MEMORY]
Umineko-Graphics-1080p-v3.7z.meta4
2b2ac9|ERR | n/a|Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z
Status Legend:
(OK):download completed.(ERR):error occurred.
aria2 will resume download if the transfer is restarted.
If there are any errors, then see the log file. See '-l' option in help/man page for details.
--------------- EXECUTION FINISHED ---------------
ERROR - failed to download [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4]. Trying again in 3 seconds...
<<< Status: 4% Downloading: 5.57 GB (total) DL Folder: [Umineko Question (Ch. 1-4) Downloads] URL: [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] (Attempt: 3/3) >>>
----- BEGIN EXECUTING COMMAND: [./aria2c --file-allocation=none --continue=true --retry-wait=5 -m 0 -x 8 -s 8 -j 1 --auto-file-renaming=false --allow-overwrite=true --follow-metalink=mem --check-integrity=true --disable-ipv6=true -d Umineko Question (Ch. 1-4) Downloads https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] -----
07/11 15:27:53 [[1;32mNOTICE[0m]
Downloading 1 item(s)
07/11 15:27:53 [[1;32mNOTICE[0m]
Download complete: [MEMORY]
Umineko-Graphics-1080p-v3.7z.meta4
07/11 15:27:53 [[1;31mERROR[0m]
Exception caught
Exception: [RequestGroup.cc:760]
errorCode=1 Download aborted.
-> [DefaultBtProgressInfoFile.cc:240]
errorCode=1 Failed to read from the segment file Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z.aria2
07/11 15:27:53 [[1;32mNOTICE[0m]
Download GID#927551f0cd5ded18 not complete: Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
393104|OK | n/a|[MEMORY]
Umineko-Graphics-1080p-v3.7z.meta4
927551|ERR | n/a|Umineko Question (Ch. 1-4) Downloads/Umineko-Graphics-1080p-v3.7z
Status Legend:
(OK):download completed.(ERR):error occurred.
aria2 will resume download if the transfer is restarted.
If there are any errors, then see the log file. See '-l' option in help/man page for details.
--------------- EXECUTION FINISHED ---------------
ERROR - failed to download [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4]. Trying again in 3 seconds...
Exception in thread Thread-98:
Traceback (most recent call last):
File "D:\obj\windows-release\37win32_Release\msi_python\zip_win32\threading.py", line 926, in _bootstrap_inner
File "D:\obj\windows-release\37win32_Release\msi_python\zip_win32\threading.py", line 870, in run
File "D:\07th-mod_installer\httpGUI.py", line 667, in errorPrintingInstaller
installerFunction(args)
File "D:\07th-mod_installer\uminekoInstaller.py", line 135, in mainUmineko
downloaderAndExtractor.download()
File "D:\07th-mod_installer\common.py", line 940, in download
raise DownloadAndVerifyError("ERROR - Failed to download [{}] after {} attempts. Check aria2/7z in log for details. Installation Stopped".format(url, attempt + 1))
common.DownloadAndVerifyError: ERROR - Failed to download [https://07th-mod.com/Beato/1080p/Umineko-Graphics-1080p-v3.7z.meta4] after 3 attempts. Check aria2/7z in log for details. Installation Stopped
- 主要言語
- JavaScript
- スター
- 214
- フォーク
- 12
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
07th-mod/python-patcher のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
07th-mod/python-patcher#214 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
07th-mod/python-patcher#193 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
07th-mod/python-patcher#137 ·
-
enhancement help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
07th-mod/python-patcher#83 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
07th-mod/python-patcher#80 · コメント 11 件 ·
07th-mod/python-patcher の issue をすべて見る
似ている issue
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
githubnext/gh-aw-workshop#4458 ·
メンテナーはふだん 1 日以内に返信
-
Add: Cartoonitoオープンcheck:failed feeds:add
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
iptv-org/database#37390 · コメント 1 件 ·
メンテナーはふだん 9 日以内に返信
-
bug: directory index route root priority is overwritten when wildcard is false対応中かも @TalhaHunter101 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
fastify/fastify-static#617 ·
-
agent/sec-check hive/hosted-available-lke648397-260827-5n31 security
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
factory-active factory-automatic task-bug-reproduction-success task-identify-harness-labels-done task-identify-issue-type-done
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信