Homebrew / homebrew-cask

🍻 A CLI workflow for the administration of macOS applications distributed as binaries
https://brew.sh
BSD 2-Clause "Simplified" License
20.83k stars 10.66k forks source link

postman SHA256 mismatch when upgrade to 11.1.0 #174165

Closed dchien234 closed 4 months ago

dchien234 commented 4 months ago

Verification

Description of issue

Command that failed

brew upgrade --cask postman --greedy

Output of command with --verbose --debug

/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading postman
==> Upgrading 1 outdated package:
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromPathLoader): loading /opt/homebrew/Caskroom/postman/.metadata/11.0.7/20240507165702.946/Casks/postman.json
postman 11.0.7 -> 11.1.0
==> Started upgrade process for Cask postman
==> Upgrading postman
==> Printing caveats
==> Cask::Installer#fetch
==> Downloading https://dl.pstmn.io/download/version/11.1.0/osx_arm64
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.3.0-78-gb8d844c\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.4.1\)\ curl/8.4.0 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://dl.pstmn.io/download/version/11.1.0/osx_arm64
Already downloaded: /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
==> Checking quarantine support
/usr/bin/env /usr/bin/xattr -h
/usr/bin/env /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -target arm64-apple-macosx14 /opt/homebrew/Library/Homebrew/cask/utils/quarantine.swift
==> Quarantine is available.
==> Verifying Gatekeeper status of /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
/usr/bin/env /usr/bin/xattr -p com.apple.quarantine /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman\%20v11.1.0\%20for\%20macOS\%20
==> /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20 is quarantined
==> Verifying checksum for 'd08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20'
==> Purging files for version 11.1.0 of Cask postman
Error: postman: SHA256 mismatch
Expected: 57e24b5e5d760e7c1994f174a8db36950a91a566d20e23d70d3b65e0519c65c3
  Actual: 948841958b1ab18a7bf79c19cdc5c2ea20c3525b03431f1c86798055127b790d
    File: /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
To retry an incomplete download, remove the file above.
/opt/homebrew/Library/Homebrew/extend/pathname.rb:300:in `verify_checksum'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/downloadable.rb:100:in `verify_download_integrity'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation_2_7.rb:687:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation_2_7.rb:687:in `block in create_validator_procedure_fast1'
/opt/homebrew/Library/Homebrew/cask/download.rb:83:in `verify_download_integrity'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cask/download.rb:62:in `fetch'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cask/installer.rb:186:in `download'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cask/installer.rb:69:in `fetch'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cask/upgrade.rb:192:in `upgrade_cask'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cask/upgrade.rb:113:in `block in upgrade_casks'
/opt/homebrew/Library/Homebrew/cask/upgrade.rb:112:in `each'
/opt/homebrew/Library/Homebrew/cask/upgrade.rb:112:in `upgrade_casks'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cmd/upgrade.rb:260:in `upgrade_outdated_casks'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/cmd/upgrade.rb:138:in `run'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11383/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/brew.rb:92:in `<main>'

Output of brew doctor and brew config

Your system is ready to brew.

HOMEBREW_VERSION: 4.3.0-78-gb8d844c
ORIGIN: https://github.com/Homebrew/brew
HEAD: b8d844ced8c2df5e8921dacfd02ea495a0ca8381
Last commit: 2 hours ago
Core tap JSON: 17 May 17:51 UTC
Core cask tap JSON: 17 May 17:51 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.3.1 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.1/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 15.0.0 build 1500
Git: 2.45.1 => /opt/homebrew/bin/git
Curl: 8.4.0 => /usr/bin/curl
macOS: 14.4.1-arm64
CLT: 15.3.0.0.1.1708646388
Xcode: 15.4
Rosetta 2: false

Output of brew tap

aws/tap
fluxcd/tap
hashicorp/tap
homebrew/bundle
homebrew/services
jandedobbeleer/oh-my-posh
minamijoyo/hcledit
sqitchers/sqitch
vmware-tanzu/carvel
weaveworks/tap
taisei-yamamoto-an commented 4 months ago

same problem


$ brew install --cask postman
==> Downloading https://dl.pstmn.io/download/version/11.1.0/osx_arm64
Already downloaded: /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
Error: SHA256 mismatch
Expected: 57e24b5e5d760e7c1994f174a8db36950a91a566d20e23d70d3b65e0519c65c3
  Actual: 948841958b1ab18a7bf79c19cdc5c2ea20c3525b03431f1c86798055127b790d
    File: /Users/user/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
To retry an incomplete download, remove the file above.
jendave commented 4 months ago

I have this problem as well.

~  brew install postman        

==> Downloading https://dl.pstmn.io/download/version/11.1.0/osx_arm64
######################################################################### 100.0%
Error: SHA256 mismatch
Expected: 57e24b5e5d760e7c1994f174a8db36950a91a566d20e23d70d3b65e0519c65c3
  Actual: 948841958b1ab18a7bf79c19cdc5c2ea20c3525b03431f1c86798055127b790d
    File: /Users/david.hudson/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
To retry an incomplete download, remove the file above.
razvanazamfirei commented 4 months ago

I made doubly sure this is not a checksum does not match / SHA256 mismatch error (do not open an issue before trying to open a PR to fix first).

taisei-yamamoto-an commented 4 months ago

In accordance with the provided document, I tried the following, but the situation did not change:

  1. Go to the vendor’s website (brew home ).
  2. Find out what the latest version is. It may be expressed in the URL used to download it.
  3. Take a look at the cask’s version (brew info ) and verify it is indeed outdated. If so, it will need to be updated.

Looking at the log displayed during the brew install execution, it seems that it is downloading from the appropriate URL https://dl.pstmn.io/download/version/11.1.0/osx_arm64. If you access this URL via Chrome, the installer is correctly downloaded. Running SHA256sum produces the correct result (57e24b5e5d760e7c1994f174a8db36950a91a566d20e23d70d3b65e0519c65c3). Of course, it also functions correctly as an installer. However, the file downloaded by brew (/Users/yamamoto/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20) does not produce the appropriate value with sha256sum, and attempting to unzip it after changing the extension to zip fails (the file command indicates that it is indeed a zip file).

I would like to continue to request support to resolve this issue, and I will also consider if there is anything else I can do to improve the situation.

bevanjkay commented 4 months ago

@taisei-yamamoto-an Thank you for looking into it further. It seems like upstream is not returning a complete zip file when fetching it using curl. It may be an upstream bug, or it may be intentional. Can you file an issue with the vendor?

taisei-yamamoto-an commented 4 months ago

Thank you for your reply. I tried again just now, and it worked successfully. It was probably a temporary issue. Thank you for your support. From my side, it's okay to close this issue.

krehel commented 4 months ago

As another data point: I have been testing this issue off and on for the last few days, but I couldn't replicate it by getting a mismatching checksum. I get the correct download using brew same as a web browser and while it doesn't seem to be a .zip extension, the sha256sum matches.

vthwang commented 4 months ago

As another data point: I have been testing this issue off and on for the last few days, but I couldn't replicate it by getting a mismatching checksum. I get the correct download using brew same as a web browser and while it doesn't seem to be a .zip extension, the sha256sum matches.

Yesterday, I still had problems when I tested it. Basically, the zip file I downloaded using curl was damaged, and it couldn't be unzip as well. When I tested it today, I could download it normally using curl. I think Postman has fixed the problem.

curl -v -o Postman-v11.1.0-for-macOS-arm64.zip https://dl.pstmn.io/download/version/11.1.0/osx_arm64

What I got yesterday:

948841958b1ab18a7bf79c19cdc5c2ea20c3525b03431f1c86798055127b790d  Postman-v11.1.0-for-macOS-arm64.zip

Today:

57e24b5e5d760e7c1994f174a8db36950a91a566d20e23d70d3b65e0519c65c3  Postman-v11.1.0-for-macOS-arm64.zip
jendave commented 4 months ago

I can confirm that the issue appears to have been fixed. I had to delete the local cached version of Postman

rm /Users/david.hudson/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20
remove /Users/david.hudson/Library/Caches/Homebrew/downloads/d08d30b6b609e75320f88d12f8cf17bc1d009535818711014780757864568172--Postman%20v11.1.0%20for%20macOS%20? y

➜   brew install postman                                                                         
==> Downloading https://dl.pstmn.io/download/version/11.1.0/osx_arm64
#################################################################################################################### 100.0%
==> Installing Cask postman
==> Moving App 'Postman.app' to '/Applications/Postman.app'
🍺  postman was successfully installed!
dchien234 commented 4 months ago

yep, looks like it's fixed by upstream, will close this for now. thanks.