WinDbg installer: redundant intermediate disk extraction and no feedback during temp cleanup
Maintainer antworten meist innerhalb von 1 Tag
@xusheng6 arbeitet bereits daran.
Seit 21.9.2026.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 20/100
Rechercherichtung
The main issue says the fix landed in #1128, including direct in-memory extraction and progress feedback. Read that change first, then measure deletion of the outer .msixbundle in the real download path; done means determining whether antivirus scanning still causes a significant delay and documenting the result or follow-up scope.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
The WinDbg/TTD installer used a hand-rolled ZIP/inflate parser and materialized a large intermediate file to disk, so the install appeared to hang on the "Verifying installation..." step.
Background
For a current WinDbg package the installer touched roughly 1.9 GB of temporary disk I/O. The inner windbg_win-x64.msix (381 MB) was written to a temp file only to be reopened and read straight back, then deleted.
Symptom: "Verifying installation..." appears stuck
CheckInstallation() itself is instant (six fs::exists checks). The perceived hang was the CleanupTempFiles() call that ran right after it. Measured: deleting the freshly-written 381 MB inner .msix took ~68 s — not because the raw delete is slow (that's ~85 ms) but because antivirus scans the just-written archive synchronously on delete.
Resolution (landed in #1128)
- Replaced the homegrown ZIP/inflate parser (
vendor/minizip-ng, ~45 KB of bespoke code — despite the name, not upstream minizip-ng) with the vendored, well-audited miniz amalgamation. Also removes a bespoke parser from a supply-chain-sensitive path and fixes the old reader's 2 GB (long) offset limit. - Extract the inner package directly from memory (
mz_zip_reader_init_mem) into the install dir — no intermediate.msixfile is written or later deleted. - Gave the cleanup step its own progress message.
Measured (real 1.13 GB package): whole install ~87 s → ~17 s; cleanup ~68 s → 0 ms (nothing to delete). The remaining ~17 s is the actual writing of 1446 payload files.
Follow-up (not in #1128)
In the real download path the 1.13 GB .msixbundle itself is still deleted at the end and could hit the same antivirus scan-on-delete cost. Worth measuring separately; the inner-package temp (the ~68 s case) is resolved.
- Vorherrschende Sprache
- C++
- Sterne
- 335
- Forks
- 33
- Ø Merge
- 3 T. 1 Std.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Vector35/debugger
-
bug Effort: Trivial
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug Effort: Trivial Impact: Low
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
Maintainer antworten meist innerhalb von 1 Tag
-
Effort: Trivial enhancement UI
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Vector35/debugger#1148 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in Vector35/debugger
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
nasa/fprime#6225 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
content good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
cpinitiative/usaco-guide#6699 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
codepointerapp/codepointer#231 ·
-
enhancement source/qq
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
metasequoiaime/msime-windows#1054 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
amnezia-vpn/amnezia-client#3297 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag