Skip to content

Install of cask docker stuck at UnpackStrategy::Dmg step #198010

Closed
@muescha

Description

Verification

Description of issue

since there is a bug for docker I tried to do a:

brew uninstall --force --formula docker
brew uninstall --force --cask docker

and now I am at the step:

brew install --cask docker

  • each hdiutil takes long time to complete.
  • it stuck at command: /usr/bin/env diskutil eject
  • hit ctrl+c after about 60min of waiting for

some other notes:

  • Disk Utility shows an empty screen
  • diskutil list hangs and don't complete and show nothing
  • but diskutil info -all show me info
brew update-reset
==> Fetching /opt/homebrew...
remote: Enumerating objects: 381, done.
remote: Counting objects: 100% (207/207), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 381 (delta 184), reused 200 (delta 184), pack-reused 174 (from 3)
Receiving objects: 100% (381/381), 378.76 KiB | 950.00 KiB/s, done.
Resolving deltas: 100% (193/193), completed with 150 local objects.
From https://github.com/Homebrew/brew
 * [new branch]            add-comments-to-rubocop-disables           -> origin/add-comments-to-rubocop-disables
 * [new branch]            attestation-cache                          -> origin/attestation-cache
 * [new branch]            backup/bump-skip-pr-checking-when-up-to-date-explicit-skipped-output -> origin/backup/bump-skip-pr-checking-when-up-to-date-explicit-skipped-output
 * [new branch]            cleaner-factory                            -> origin/cleaner-factory
 * [new branch]            cleaner-interface                          -> origin/cleaner-interface
 * [new branch]            curl-typed-strict                          -> origin/curl-typed-strict
 * [new branch]            deprecate-disable-at-once                  -> origin/deprecate-disable-at-once
 * [new branch]            docker-git-gc                              -> origin/docker-git-gc
 * [new branch]            feat/cask/font_install                     -> origin/feat/cask/font_install
 * [new branch]            github_runner_matrix-restore-linux-timeout -> origin/github_runner_matrix-restore-linux-timeout
 * [new branch]            homebrew-user                              -> origin/homebrew-user
 * [new branch]            lail/bump-bundler                          -> origin/lail/bump-bundler
 * [new branch]            load-internal-cask-json-v3                 -> origin/load-internal-cask-json-v3
 * [new branch]            no-stdlib-rbi-generation                   -> origin/no-stdlib-rbi-generation
 * [new branch]            original-brew-command                      -> origin/original-brew-command
 * [new branch]            rm-unused-unused                           -> origin/rm-unused-unused
 * [new branch]            sorbet-files-update                        -> origin/sorbet-files-update
 * [new branch]            sorbet-ignore-vendor-ruby-dir              -> origin/sorbet-ignore-vendor-ruby-dir
 * [new branch]            sponsors-maintainers-man-completions       -> origin/sponsors-maintainers-man-completions
 * [new branch]            srb-strict-for-rubocops                    -> origin/srb-strict-for-rubocops
 * [new branch]            sync-shared-config                         -> origin/sync-shared-config
 * [new branch]            utils-sorbet-strict                        -> origin/utils-sorbet-strict

==> Resetting /opt/homebrew...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/beeftornado/homebrew-rmtree...

==> Resetting /opt/homebrew/Library/Taps/beeftornado/homebrew-rmtree...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/buildpacks/homebrew-tap...

==> Resetting /opt/homebrew/Library/Taps/buildpacks/homebrew-tap...
branch 'main' set up to track 'origin/main'.
Reset branch 'main'
Your branch is up to date with 'origin/main'.

==> Fetching /opt/homebrew/Library/Taps/buo/homebrew-cask-upgrade...

==> Resetting /opt/homebrew/Library/Taps/buo/homebrew-cask-upgrade...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-bundle...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (66/66), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 67 (delta 39), reused 66 (delta 39), pack-reused 1 (from 1)
Unpacking objects: 100% (67/67), 8.24 KiB | 187.00 KiB/s, done.
From https://github.com/Homebrew/homebrew-bundle
 * [new branch]      sorbet-true        -> origin/sorbet-true
 * [new branch]      sync-shared-config -> origin/sync-shared-config
 * [new branch]      wip-devcontainer   -> origin/wip-devcontainer

==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-bundle...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-cask-fonts...

==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-cask-fonts...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-cask-versions...

==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-cask-versions...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-services...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 6 (delta 2), reused 2 (delta 2), pack-reused 3 (from 1)
Unpacking objects: 100% (6/6), 1.36 KiB | 198.00 KiB/s, done.
From https://github.com/Homebrew/homebrew-services
 * [new branch]      bye-bye-activesupport -> origin/bye-bye-activesupport

==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-services...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/maciejwalkowiak/homebrew-brew...

==> Resetting /opt/homebrew/Library/Taps/maciejwalkowiak/homebrew-brew...
branch 'main' set up to track 'origin/main'.
Reset branch 'main'
Your branch is up to date with 'origin/main'.

==> Fetching /opt/homebrew/Library/Taps/oven-sh/homebrew-bun...

==> Resetting /opt/homebrew/Library/Taps/oven-sh/homebrew-bun...
branch 'main' set up to track 'origin/main'.
Reset branch 'main'
Your branch is up to date with 'origin/main'.

==> Fetching /opt/homebrew/Library/Taps/peripheryapp/homebrew-periphery...

==> Resetting /opt/homebrew/Library/Taps/peripheryapp/homebrew-periphery...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/robotsandpencils/homebrew-made...

==> Resetting /opt/homebrew/Library/Taps/robotsandpencils/homebrew-made...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/spring-io/homebrew-tap...

==> Resetting /opt/homebrew/Library/Taps/spring-io/homebrew-tap...
branch 'main' set up to track 'origin/main'.
Reset branch 'main'
Your branch is up to date with 'origin/main'.

==> Fetching /opt/homebrew/Library/Taps/turbot/homebrew-tap...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 11 (delta 6), reused 5 (delta 4), pack-reused 1 (from 1)
Unpacking objects: 100% (11/11), 4.02 KiB | 457.00 KiB/s, done.
From https://github.com/turbot/homebrew-tap
 * [new branch]      bump-brew     -> origin/bump-brew
 * [new branch]      flowpipe-brew -> origin/flowpipe-brew
 * [new branch]      tailpipe-brew -> origin/tailpipe-brew
 * [new branch]      v0.7.2        -> origin/v0.7.2

==> Resetting /opt/homebrew/Library/Taps/turbot/homebrew-tap...
branch 'main' set up to track 'origin/main'.
Reset branch 'main'
Your branch is up to date with 'origin/main'.

==> Fetching /opt/homebrew/Library/Taps/xpipe-io/homebrew-tap...

==> Resetting /opt/homebrew/Library/Taps/xpipe-io/homebrew-tap...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.
brew update
==> Updating Homebrew...
Already up-to-date.

Command that failed

brew install --debug --cask docker

Output of command with --verbose --debug

brew install --debug --cask docker
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading docker
==> Cask::Installer#install
/opt/homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading rancher
==> Printing caveats
==> Cask::Installer#fetch
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/492a90c5ae1c2824ecbf5238dad363cacfa33c71/Casks/d/docker.r
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.4.15-81-g2432d01\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.5\)\ curl/8.6.0 --header Accept-Language:\ en --retry 3 -V
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.4.15-81-g2432d01\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.5\)\ curl/8.6.0 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://raw.githubusercontent.com/Homebrew/homebrew-cask/492a90c5ae1c2824ecbf5238dad363cacfa33c71/Casks/d/docker.rb
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.4.15-81-g2432d01\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.5\)\ curl/8.6.0 --header Accept-Language:\ en --retry 3 --fail --location --silent --head --request GET https://raw.githubusercontent.com/Homebrew/homebrew-cask/492a90c5ae1c2824ecbf5238dad363cacfa33c71/Casks/d/docker.rb
Already downloaded: /Users/muescha/Library/Caches/Homebrew/downloads/a0657e0a07036ad3f7df0cc0861fcccb2989f85933e654ed307eef4d017e0fad--docker.rb
==> Downloading https://desktop.docker.com/mac/main/arm64/179585/Docker.dmg
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.4.15-81-g2432d01\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.5\)\ curl/8.6.0 --header Accept-Language:\ en --retry 3 -V
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.4.15-81-g2432d01\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.5\)\ curl/8.6.0 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://desktop.docker.com/mac/main/arm64/179585/Docker.dmg
/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.4.15-81-g2432d01\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.5\)\ curl/8.6.0 --header Accept-Language:\ en --retry 3 --fail --location --silent --head --request GET https://desktop.docker.com/mac/main/arm64/179585/Docker.dmg
Already downloaded: /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
==> 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/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
/usr/bin/env /usr/bin/xattr -p com.apple.quarantine /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
==> /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg is quarantined
/usr/bin/env tar --list --file /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
/usr/bin/env hdiutil imageinfo -format /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
==> Installing Cask docker
==> Cask::Installer#stage
==> Extracting primary container
==> Using container class UnpackStrategy::Dmg for /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
/usr/bin/env hdiutil attach -plist -nobrowse -readonly -mountrandom /private/tmp/homebrew-dmg20250112-18912-6t1rw1 /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
/usr/bin/env hdiutil convert -quiet -format UDTO -o /private/tmp/homebrew-dmg20250112-18912-6t1rw1/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.cdr /Users/muescha/Library/Caches/Homebrew/downloads/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.dmg
/usr/bin/env hdiutil attach -plist -nobrowse -readonly -mountrandom /private/tmp/homebrew-dmg20250112-18912-6t1rw1 /private/tmp/homebrew-dmg20250112-18912-6t1rw1/a956d2181704622448bfdfd1a38d510f98fca386f98c1f547ec7b22939db47dd--Docker.cdr
/usr/bin/env find . -print0
/usr/bin/env mkbom -s -i /private/tmp/20250112-18912-lpdq2a.list -- /private/tmp/20250112-18912-dmmdfs.bom
/usr/bin/env ditto --bom /private/tmp/20250112-18912-dmmdfs.bom -- /private/tmp/homebrew-dmg20250112-18912-6t1rw1/dmg.uDbPit /private/tmp/homebrew-unpack-20250112-18912-ggz8vn
/usr/bin/env diskutil info -plist /private/tmp/homebrew-dmg20250112-18912-6t1rw1/dmg.uDbPit
/usr/bin/env diskutil eject /private/tmp/homebrew-dmg20250112-18912-6t1rw1/dmg.uDbPit



--> Here I hit ctrol+C


^C==> Purging files for version 4.37.2,179585 of Cask docker
Error: Read-only file system @ apply2files - /private/tmp/homebrew-dmg20250112-18912-6t1rw1/dmg.uDbPit/.background/docker-dmg-background.png
Warning: Removed Sorbet lines from backtrace!
Rerun with `--verbose` to see the original backtrace
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2330:in `unlink'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2330:in `block in remove_file'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2335:in `platform_support'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2329:in `remove_file'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2318:in `remove'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:1452:in `block in remove_entry'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2377:in `block (2 levels) in postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2377:in `block (2 levels) in postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2377:in `block (2 levels) in postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2381:in `postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2376:in `block in postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2375:in `each'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2375:in `postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2376:in `block in postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2375:in `each'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2375:in `postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2376:in `block in postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2375:in `each'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:2375:in `postorder_traverse'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/fileutils.rb:1450:in `remove_entry'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/tmpdir.rb:107:in `ensure in mktmpdir'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/lib/ruby/3.3.0/tmpdir.rb:107:in `mktmpdir'
/opt/homebrew/Library/Homebrew/unpack_strategy/dmg.rb:197:in `mount'
/opt/homebrew/Library/Homebrew/unpack_strategy/dmg.rb:186:in `extract_to_dir'
/opt/homebrew/Library/Homebrew/unpack_strategy.rb:149:in `extract'
/opt/homebrew/Library/Homebrew/unpack_strategy.rb:164:in `block in extract_nestedly'
/opt/homebrew/Library/Homebrew/mktemp.rb:92:in `run'
/opt/homebrew/Library/Homebrew/unpack_strategy.rb:161:in `extract_nestedly'
/opt/homebrew/Library/Homebrew/cask/installer.rb:234:in `extract_primary_container'
/opt/homebrew/Library/Homebrew/cask/installer.rb:84:in `stage'
/opt/homebrew/Library/Homebrew/cask/installer.rb:112:in `install'
/opt/homebrew/Library/Homebrew/cmd/install.rb:245:in `block in run'
/opt/homebrew/Library/Homebrew/cmd/install.rb:234:in `each'
/opt/homebrew/Library/Homebrew/cmd/install.rb:234:in `run'
/opt/homebrew/Library/Homebrew/brew.rb:94:in `<main>'

Output of brew doctor and brew config

brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed casks are deprecated or disabled.
You should find replacements for the following casks:
  cheatsheet
  cloudytabs
  flipper
  gutenprint
  microsoft-teams@classic
  shortcuts

Warning: You have the following deprecated, official taps tapped:
  Homebrew/homebrew-cask-versions
  Homebrew/homebrew-cask-fonts
Untap them with `brew untap`.


brew config
HOMEBREW_VERSION: 4.4.15-81-g2432d01
ORIGIN: https://github.com/Homebrew/brew
HEAD: 2432d01884a262ee56c87472d4f974da343a1dd5
Last commit: 3 hours ago
Branch: master
Core tap JSON: 12 Jan 20:34 UTC
Core cask tap JSON: 12 Jan 20:34 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 10
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.3.6 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 16.0.0 build 1600
Git: 2.39.5 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 8.6.0 => /usr/bin/curl
macOS: 14.5-arm64
CLT: 15.3.0.0.1.1708646388
Xcode: 16.2
Rosetta 2: false

Output of brew tap

brew tap
beeftornado/rmtree
buildpacks/tap
buo/cask-upgrade
homebrew/bundle
homebrew/cask-fonts
homebrew/cask-versions
homebrew/services
maciejwalkowiak/brew
oven-sh/bun
peripheryapp/periphery
robotsandpencils/made
spring-io/tap
turbot/tap
xpipe-io/tap

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions