fix(core): propagate archive extraction and copy failures
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
Start with fn_dl_extract in lgsm/modules/core_dl.sh and trace the branch taken for an unsupported MIME type, where the function can return success without extracting anything. Then look at the selective ZIP path (extractsrc set): unzip, cp, then rm, where the final status must reflect a failed copy even if cleanup succeeds. Done means explicit errors with non-zero exit through the installer/update path, including exitbypass handling, with the listed validation cases reproduced.
索引モデルが issue の本文から書いたものです。
説明
Problem
fn_dl_extract in lgsm/modules/core_dl.sh can report successful extraction after an error, or without extracting anything.
This is the remaining extraction concern raised in #2421. The original curl-download error handling is now present and has been checked separately.
Paths to address
- An unsupported MIME type matches none of the extraction branches. The surrounding conditional can return success, allowing the function to print an extraction success message without extracting any files.
- In the selective ZIP extraction path (
extractsrcset), the function runsunzip, thencp, thenrm. The final status can reflect successful cleanup rather than a failed extraction or copy.
Expected behaviour
Unsupported archive types and failed extraction/copy operations must produce a clear error, terminate the installation/update with a non-zero exit status, and prevent later steps from reporting success. Cleanup must preserve the original failure status.
Validation
- Unsupported archive format fails explicitly.
- Corrupt/truncated supported archives fail.
- Selective ZIP extraction fails when the requested source is absent or extraction fails.
- Copy failures in selective ZIP extraction fail even when cleanup succeeds.
- Successful full and selective extraction still work.
- Verify failure propagation through a calling installer/update path, including any use of
exitbypass.
These findings come from reviewing the current develop implementation; the extraction failure cases still require reproduction and regression checks.
- 主要言語
- Shell
- スター
- 4.9k
- フォーク
- 870
- 平均マージ
- 20時間 56分
- マージ済み PR(30日)
- 130
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
GameServerManagers/LinuxGSM のほかの issue
-
[Bug]: cs2server ignores the GSLT entered during install対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンcommand: install command: start distro: Debian engine: source2 game: Counter-Strike 2 regression: yes reproducible: always severity: high type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
GameServerManagers/LinuxGSM#5106 ·
メンテナーはふだん 1 日以内に返信
-
[Feature]: Grace period for stoponlyifnoplayers before forcing stop, restart or update対応中かも @dgibbs64 が 4 日前に担当しました。 オープンcommand: monitor command: restart command: stop command: update priority: medium scope: all servers type: feature
GameServerManagers/LinuxGSM#5138 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
status: linux support confirmed type: game server request
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
GameServerManagers/LinuxGSM#5110 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
command: start engine: unity3d game: Assetto Corsa priority: high scope: single game type: feature
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
GameServerManagers/LinuxGSM#5099 ·
メンテナーはふだん 1 日以内に返信
-
engine: unity3d engine: unreal4 Epic game: 7 Days to Die game: ARK: Survival Evolved game: Rust info: dependency type: feature
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
GameServerManagers/LinuxGSM#5047 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
GameServerManagers/LinuxGSM の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
question
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
blocked
難易度 1/5 1時間未満 初心者へのやさしさ 73/100
fullsend-ai/agents#1908 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
5700模组网络优先级问题オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
severity: low
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
luainkernel/lunatik#2372 ·
メンテナーはふだん 1 日以内に返信