brew: Brew upgrade hangs on curl

brew doctor output

Your system is ready to brew.

Verification

  • My “brew doctor output” above says Your system is ready to brew. and am still able to reproduce my issue.
  • I ran brew update twice and am still able to reproduce my issue.
  • This issue’s title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output

HOMEBREW_VERSION: 4.0.1
ORIGIN: https://github.com/Homebrew/brew
HEAD: 17c872fb5275d87922a56416587cb439a5064354
Last commit: 27 hours ago
Core tap JSON: 17 Feb 16:08 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 14.0.0 build 1400
Git: 2.39.2 => /opt/homebrew/bin/git
Curl: 7.85.0 => /usr/bin/curl
macOS: 13.1-arm64
CLT: 14.2.0.0.1.1668646533
Xcode: N/A
Rosetta 2: false

What were you trying to do (and why)?

Upgrading packages

What happened (include all command output)?

The upgrade just randomly hung up infinitely and had to interrupt it (^C) When I used --debug, found out it was hanging on a curl command. This can possibly be a problem with the curl shim as the update command which runs the local curl works fine.

/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading bat-extras from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading z3 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading pkg-config from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libtool from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading gmp from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading dust from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading wget from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading pinentry from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libidn2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libksba from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading gh from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading zsh-autosuggestions from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading nettle from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading mpdecimal from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libuv from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading macos-trash from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading liblinear from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading p7zip from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libunistring from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading brotli from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading bdw-gc from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading icu4c from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading uutils-coreutils from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading zoxide from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading zsh-completions from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading readline from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading aria2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading exa from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading llvm from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading lz4 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libassuan from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading sqlite from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libgpg-error from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading smimesign from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading c-ares from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading xz from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading nvm from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libnghttp2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libgcrypt from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading openssl@3 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading ca-certificates from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading gettext from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libssh2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading zstd from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading cloudflare-wrangler2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading m4 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libtasn1 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading pcre2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::TapLoader): loading /opt/homebrew/Library/Taps/romkatv/homebrew-powerlevel10k/Formula/powerlevel10k.rb
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libevent from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading openssl@1.1 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading bat from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading pcre from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading lua@5.3 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading six from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading node from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading unbound from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading nmap from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading zsh-syntax-highlighting from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading libusb from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading python@3.11 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading ripgrep from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading pfetch from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading guile from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading gnupg from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading p11-kit from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading git from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading bzip2 from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading gnutls from API
/opt/homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading npth from API
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading android-platform-tools
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading coconutbattery
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading figma
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading google-chrome
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading iina
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading inkscape
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.0.1\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 13.1\)\ curl/7.85.0 --header Accept-Language:\ en --retry 3 --fail https://raw.githubusercontent.com/Homebrew/homebrew-cask/169e9f78c8678df632e6904f24d0af0dafdf0912/Casks/inkscape.rb

What did you expect to happen?

Successful upgrade of packages

Step-by-step reproduction instructions (by running brew commands)

1. brew update
2. brew upgrade

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 17 (13 by maintainers)

Most upvoted comments

Yeah you’re right @apicgg, that’s why chrome could load it I have also set my network wide DNS to 8.8.8.8 (Google DNS) many times but I think my ISP just quietly resets it everytime

Well, I figured it out after some tinkering and research. As expected the blocks are pretty poorly implemented so a simple DNS workaround works curl https://raw.githubusercontent.com/Homebrew/homebrew-cask/169e9f78c8678df632e6904f24d0af0dafdf0912/Casks/inkscape.rb --resolve raw.githubusercontent.com:443:185.199.108.133 This explains why the browser worked because it was using Google’s DNS.

This seems like a pretty serious issue for Indian users so Homebrew may have to default back to the old method for now.

I have found one quick workaround which is to change your DNS server to 1.1.1.1.

Well, I figured it out after some tinkering and research. As expected the blocks are pretty poorly implemented so a simple DNS workaround works curl https://raw.githubusercontent.com/Homebrew/homebrew-cask/169e9f78c8678df632e6904f24d0af0dafdf0912/Casks/inkscape.rb --resolve raw.githubusercontent.com:443:185.199.108.133 This explains why the browser worked because it was using Google’s DNS.

This seems like a pretty serious issue for Indian users so Homebrew may have to default back to the old method for now.