QNN SDK download: validate archive and retry on all errors#19233
QNN SDK download: validate archive and retry on all errors#19233rascani wants to merge 1 commit intopytorch:mainfrom
Conversation
The QNN backend test workflows have been flaking because the download from softwarecenter.qualcomm.com aborts mid-stream with `curl: (92) HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR`, or returns a short error body that curl treats as a successful 200 — letting unzip choke on the not-a-zip with exit 9. The previous `curl --retry 3` only covered a narrow set of transient errors and never validated the archive, so neither failure was retried. Wrap the download in a five-attempt loop using `curl --fail --retry-all-errors` and validate each attempt with `unzip -t` before proceeding, with the on-disk file size logged on failure so a tiny error body is unambiguous in the log. Authored with Claude Code.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/19233
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (2 Unrelated Failures)As of commit b0c68f6 with merge base e84a418 ( BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
Summary
The QNN backend test workflows have been flaking because the download from softwarecenter.qualcomm.com aborts mid-stream with
curl: (92) HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR, or returns a short error body that curl treats as a successful 200 — letting unzip choke on the not-a-zip with exit 9. The previouscurl --retry 3only covered a narrow set of transient errors and never validated the archive, so neither failure was retried. Wrap the download in a five-attempt loop usingcurl --fail --retry-all-errorsand validate each attempt withunzip -tbefore proceeding, with the on-disk file size logged on failure so a tiny error body is unambiguous in the log.Authored with Claude Code.
Test plan
CI