Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

homebrew cask hangs when running install --force for parallels desktop #18638

Closed
rasebo opened this issue Feb 11, 2016 · 10 comments
Closed

homebrew cask hangs when running install --force for parallels desktop #18638

rasebo opened this issue Feb 11, 2016 · 10 comments

Comments

@rasebo
Copy link
Contributor

rasebo commented Feb 11, 2016

When running "brew cask install --force parallels-desktop", it hangs right after "==> Verifying checksum for Cask parallels-desktop":

Running with the --debug flag:

==> Creating directories
==> Loading Cask definitions
==> Translating 'parallels-desktop' into a valid Cask source
==> Testing source class Hbc::Source::URI
==> Testing source class Hbc::Source::PathSlashRequired
==> Testing source class Hbc::Source::TappedQualified
==> Testing source class Hbc::Source::UntappedQualified
==> Testing source class Hbc::Source::Tapped
==> Success! Using source class Hbc::Source::Tapped
==> Resolved Cask URI or file source to '/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb'
==> Cask instance dumps in YAML:
==> Cask instance toplevel:
--- !ruby/object:Hbc::Cask
token: parallels-desktop
sourcefile_path: !ruby/object:Pathname
  path: /usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb
dsl: !ruby/object:Hbc::DSL
  token: parallels-desktop
  version: !ruby/string:Hbc::DSL::Version
    str: !binary |-
      MTEuMS4yLTMyNDA4
    raw_version: 11.1.2-32408
  sha256: 6de7591cd24d837f109c895d23b56938b720debcb336c49634664e67b49f69e0
  url: !ruby/object:Hbc::URL
    uri: !ruby/object:URI::HTTP
      scheme: http
      user:
      password:
      host: download.parallels.com
      port: 80
      path: /desktop/v11/11.1.2-32408/ParallelsDesktop-11.1.2-32408.dmg
      query:
      opaque:
      registry:
      fragment:
      parser:
    user_agent:
    cookies:
    referer:
    using:
    revision:
    trust_cert:
    data:
  name:
  - Parallels Desktop
  homepage: https://www.parallels.com/products/desktop/
  license: !ruby/object:Hbc::DSL::License
    value: :commercial
  artifacts:
    :app: !ruby/object:Set
      hash:
        ? - Parallels Desktop.app
        : true
    :postflight: !ruby/object:Set
      hash:
        !ruby/object:Proc {}: true
    :uninstall: !ruby/object:Set
      hash:
        ? :delete:
          - /usr/bin/prl_convert
          - /usr/bin/prl_disk_tool
          - /usr/bin/prl_perf_ctl
          - /usr/bin/prlctl
          - /usr/bin/prlsrvctl
        : true
    :zap: !ruby/object:Set
      hash:
        ? :delete:
          - ~/.parallels_settings
          - ~/Library/Caches/com.parallels.desktop.console
          - ~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist
          - ~/Library/Preferences/com.parallels.desktop.console.plist
          - ~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist
          - ~/Library/Preferences/com.parallels.Parallels Desktop.plist
          - ~/Library/Preferences/com.parallels.Parallels.plist
        : true
==> Cask instance method 'name':

---
- Parallels Desktop
==> Cask instance method 'homepage':
--- https://www.parallels.com/products/desktop/
...
==> Cask instance method 'url':
--- !ruby/object:Hbc::URL
uri: !ruby/object:URI::HTTP
  scheme: http
  user:
  password:
  host: download.parallels.com
  port: 80
  path: /desktop/v11/11.1.2-32408/ParallelsDesktop-11.1.2-32408.dmg
  query:
  opaque:
  registry:
  fragment:
  parser:
user_agent:
cookies:
referer:
using:
revision:
trust_cert:
data:
==> Cask instance method 'appcast':

---
...
==> Cask instance method 'version':
--- !ruby/string:Hbc::DSL::Version
str: !binary |-
  MTEuMS4yLTMyNDA4
raw_version: 11.1.2-32408
==> Cask instance method 'license':
--- !ruby/object:Hbc::DSL::License
value: :commercial
==> Cask instance method 'sha256':
--- 6de7591cd24d837f109c895d23b56938b720debcb336c49634664e67b49f69e0
...
==> Cask instance method 'artifacts':

---
:app: !ruby/object:Set
  hash:
    ? - Parallels Desktop.app
    : true
:postflight: !ruby/object:Set
  hash:
    !ruby/object:Proc {}: true
:uninstall: !ruby/object:Set
  hash:
    ? :delete:
      - /usr/bin/prl_convert
      - /usr/bin/prl_disk_tool
      - /usr/bin/prl_perf_ctl
      - /usr/bin/prlctl
      - /usr/bin/prlsrvctl
    : true
:zap: !ruby/object:Set
  hash:
    ? :delete:
      - ~/.parallels_settings
      - ~/Library/Caches/com.parallels.desktop.console
      - ~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist
      - ~/Library/Preferences/com.parallels.desktop.console.plist
      - ~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist
      - ~/Library/Preferences/com.parallels.Parallels Desktop.plist
      - ~/Library/Preferences/com.parallels.Parallels.plist
    : true
==> Cask instance method 'caveats':
--- []
==> Cask instance method 'depends_on':

---
...
==> Cask instance method 'conflicts_with':

---
...
==> Cask instance method 'container':

---
...
==> Cask instance method 'gpg':

---
...
==> Cask instance method 'accessibility_access':

---
...
==> Cask instance method 'auto_updates':

---
...
==> Hbc::Installer.install
==> Printing caveats
==> Downloading
==> Downloading http://download.parallels.com/desktop/v11/11.1.2-32408/ParallelsDesktop-11.1.2-32408.dmg
Already downloaded: /Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg
==> Downloaded to -> /Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg
==> Verifying download
==> Determining which verifications to run for Cask parallels-desktop
==> Checking for verification class Hbc::Verify::Checksum
==> 1 verifications defined
Hbc::Verify::Checksum
==> Running verification of class Hbc::Verify::Checksum
==> Verifying checksum for Cask parallels-desktop
==> SHA256 checksums match
==> Extracting primary container
==> Determining which containers to use based on filetype
==> Checking container class Hbc::Container::Pkg
==> Checking container class Hbc::Container::Ttf
==> Checking container class Hbc::Container::Otf
==> Checking container class Hbc::Container::Air
==> Checking container class Hbc::Container::Cab
==> Executing: ["/usr/bin/file", "-Izb", "--", "#<Pathname:/Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg>"]
==> Checking container class Hbc::Container::Dmg
==> Executing: ["/usr/bin/hdiutil", "imageinfo", "#<Pathname:/Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg>"]
==> Using container class Hbc::Container::Dmg for /Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg
==> Executing: ["/usr/bin/hdiutil", "mount", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/tmp", "#<Pathname:/Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg>"]
==> Executing: ["/usr/bin/ditto", "--", "/private/tmp/dmg.d92otj", "#<Pathname:/opt/homebrew-cask/Caskroom/parallels-desktop/11.1.2-32408>"]
^C==> Executing: ["/usr/sbin/diskutil", "eject", "#<Pathname:/private/tmp/dmg.d92otj>"]

/usr/local/Library/Taps/caskroom/homebrew-cask/cmd/brew-cask.rb:29:in `exit'
/usr/local/Library/Taps/caskroom/homebrew-cask/cmd/brew-cask.rb:29:in `rescue in <top (required)>'
/usr/local/Library/Taps/caskroom/homebrew-cask/cmd/brew-cask.rb:25:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/brew.rb:21:in `require?'
/usr/local/Library/brew.rb:91:in `<main>'

Output of brew doctor

Your system is ready to brew.

Output of brew cask doctor

==> OS X Release:
10.11
==> OS X Release with Patchlevel:
10.11.3
==> Hardware Architecture:
intel-64
==> Ruby Version:
2.0.0-p645
==> Ruby Path:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
==> Homebrew Version:
Homebrew 0.9.5 (git revision b61f; last commit 2016-02-11)
==> Homebrew Executable Path:
/usr/local/bin/brew
==> Homebrew Cellar Path:
/usr/local/Cellar
==> Homebrew Repository Path:
/usr/local
==> Homebrew Origin:
https://github.com/Homebrew/homebrew
==> Homebrew-cask Version:
0.60.0 (git revision e57d; last commit 16 hours ago)
==> Homebrew-cask Install Location:
<NONE>
==> Homebrew-cask Staging Location:
/opt/homebrew-cask/Caskroom
==> Homebrew-cask Cached Downloads:
/Library/Caches/Homebrew
/Library/Caches/Homebrew/Casks
2 files, 585.2M (warning: run "brew cask cleanup")
==> Homebrew-cask Default Tap Path:
/usr/local/Library/Taps/caskroom/homebrew-cask
==> Homebrew-cask Alternate Cask Taps:
<NONE>
==> Homebrew-cask Default Tap Cask Count:
2974
==> Contents of $LOAD_PATH:
/usr/local/Library/Taps/caskroom/homebrew-cask/lib
/usr/local/Library/Homebrew
/Library/Ruby/Site/2.0.0
/Library/Ruby/Site/2.0.0/x86_64-darwin15
/Library/Ruby/Site/2.0.0/universal-darwin15
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin15
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin15
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin15
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15
==> Contents of $RUBYLIB Environment Variable:
<NONE>
==> Contents of $RUBYOPT Environment Variable:
<NONE>
==> Contents of $RUBYPATH Environment Variable:
<NONE>
==> Contents of $RBENV_VERSION Environment Variable:
<NONE>
==> Contents of $CHRUBY_VERSION Environment Variable:
<NONE>
==> Contents of $GEM_HOME Environment Variable:
<NONE>
==> Contents of $GEM_PATH Environment Variable:
<NONE>
==> Contents of $BUNDLE_PATH Environment Variable:
<NONE>
==> Contents of $PATH Environment Variable:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/xxx/_src/gitlab/devops-utils/bin:/Users/xxx/_src/gitlab/devops-utils/bin:/Users/xxx/_src/gitlab/devops-utils/bin:/usr/local/Library/Taps/caskroom/homebrew-cask/cmd:/usr/local/Library/ENV/scm"
==> Contents of $SHELL Environment Variable:
SHELL="/usr/local/bin/bash"
==> Contents of Locale Environment Variables:
LANG="en_GB.UTF-8"
==> Running As Privileged User:
No

I can uninstall and then reinstall. This only happens when trying to install it with --force.

@rasebo rasebo changed the title homebrew cask hangs when running homebrew cask hangs when running install --force for parallels desktop Feb 11, 2016
@vitorgalvao
Copy link
Member

Please always follow the reporting bugs guide. To do so, edit the top post and then comment after this one so I can check back.

Closing in the meantime, because a number of people never report back and it’s useless to keep the issue open in that case and without all the required information.

@rasebo
Copy link
Contributor Author

rasebo commented Feb 11, 2016

updated

@vitorgalvao vitorgalvao reopened this Feb 12, 2016
@adidalal
Copy link
Contributor

Unfortunately, unable to reproduce on a clean OSX :(

It looks like the checksum gets verified OK, but the dmg unpacking and execution fails. It may not actually be hanging, but the install takes a while.

It's not a great solution, but can you see if manually installing the .pkg works?

@adidalal adidalal added the awaiting user reply Issue needs response from a user. label Feb 23, 2016
@winkelsdorf
Copy link
Contributor

winkelsdorf commented Jun 2, 2016

Ran into this today, too. I wanted to do a --force install of current Parallels Desktop due to the change in Cask's install location.

System is a fresh MBP, setup about 2 weeks ago, and updated to El Capitan 10.11.5.

Debug Output today:

 ✘  ~/Dropbox/Application Support/dotfiles/Update  brew cask install parallels-desktop --force --debug
==> Creating directories
==> Loading Cask definitions
==> Translating 'parallels-desktop' into a valid Cask source
==> Testing source class Hbc::Source::URI
==> Testing source class Hbc::Source::PathSlashRequired
==> Testing source class Hbc::Source::TappedQualified
==> Testing source class Hbc::Source::UntappedQualified
==> Testing source class Hbc::Source::Tapped
==> Success! Using source class Hbc::Source::Tapped
==> Resolved Cask URI or file source to '/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb'
==> Cask instance dumps in YAML:
==> Cask instance toplevel:
--- !ruby/object:Hbc::Cask
token: parallels-desktop
sourcefile_path: !ruby/object:Pathname
  path: "/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb"
dsl: !ruby/object:Hbc::DSL
  token: parallels-desktop
  version: !ruby/string:Hbc::DSL::Version
    str: 11.2.0-32581
    raw_version: 11.2.0-32581
  sha256: af5891183faac0b3080ebc46f5c225b61f5df82e11fea267148b67a4ea8da57c
  url: !ruby/object:Hbc::URL
    uri: !ruby/object:URI::HTTP
      scheme: http
      user: 
      password: 
      host: download.parallels.com
      port: 80
      path: "/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg"
      query: 
      opaque: 
      registry: 
      fragment: 
      parser: 
    user_agent: 
    cookies: 
    referer: 
    using: 
    revision: 
    trust_cert: 
    data: 
  name:
  - Parallels Desktop
  homepage: https://www.parallels.com/products/desktop/
  license: !ruby/object:Hbc::DSL::License
    value: :commercial
  artifacts:
    :app: !ruby/object:Set
      hash:
        ? - Parallels Desktop.app
        : true
    :postflight: !ruby/object:Set
      hash:
        !ruby/object:Proc {}: true
    :uninstall_preflight: !ruby/object:Set
      hash:
        !ruby/object:Proc {}: true
    :uninstall: !ruby/object:Set
      hash:
        ? :delete:
          - "/usr/bin/prl_convert"
          - "/usr/bin/prl_disk_tool"
          - "/usr/bin/prl_perf_ctl"
          - "/usr/bin/prlctl"
          - "/usr/bin/prlsrvctl"
        : true
    :zap: !ruby/object:Set
      hash:
        ? :delete:
          - "~/.parallels_settings"
          - "~/Library/Caches/com.parallels.desktop.console"
          - "~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist"
          - "~/Library/Preferences/com.parallels.desktop.console.plist"
          - "~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist"
          - "~/Library/Preferences/com.parallels.Parallels Desktop.plist"
          - "~/Library/Preferences/com.parallels.Parallels.plist"
        : true
==> Cask instance method 'name':
---
- Parallels Desktop
==> Cask instance method 'homepage':
--- https://www.parallels.com/products/desktop/
...
==> Cask instance method 'url':
--- !ruby/object:Hbc::URL
uri: !ruby/object:URI::HTTP
  scheme: http
  user: 
  password: 
  host: download.parallels.com
  port: 80
  path: "/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg"
  query: 
  opaque: 
  registry: 
  fragment: 
  parser: 
user_agent: 
cookies: 
referer: 
using: 
revision: 
trust_cert: 
data: 
==> Cask instance method 'appcast':
--- 
...
==> Cask instance method 'version':
--- !ruby/string:Hbc::DSL::Version
str: 11.2.0-32581
raw_version: 11.2.0-32581
==> Cask instance method 'license':
--- !ruby/object:Hbc::DSL::License
value: :commercial
==> Cask instance method 'sha256':
--- af5891183faac0b3080ebc46f5c225b61f5df82e11fea267148b67a4ea8da57c
...
==> Cask instance method 'artifacts':
---
:app: !ruby/object:Set
  hash:
    ? - Parallels Desktop.app
    : true
:postflight: !ruby/object:Set
  hash:
    !ruby/object:Proc {}: true
:uninstall_preflight: !ruby/object:Set
  hash:
    !ruby/object:Proc {}: true
:uninstall: !ruby/object:Set
  hash:
    ? :delete:
      - "/usr/bin/prl_convert"
      - "/usr/bin/prl_disk_tool"
      - "/usr/bin/prl_perf_ctl"
      - "/usr/bin/prlctl"
      - "/usr/bin/prlsrvctl"
    : true
:zap: !ruby/object:Set
  hash:
    ? :delete:
      - "~/.parallels_settings"
      - "~/Library/Caches/com.parallels.desktop.console"
      - "~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist"
      - "~/Library/Preferences/com.parallels.desktop.console.plist"
      - "~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist"
      - "~/Library/Preferences/com.parallels.Parallels Desktop.plist"
      - "~/Library/Preferences/com.parallels.Parallels.plist"
    : true
==> Cask instance method 'caveats':
--- []
==> Cask instance method 'depends_on':
--- 
...
==> Cask instance method 'conflicts_with':
--- 
...
==> Cask instance method 'container':
--- 
...
==> Cask instance method 'gpg':
--- 
...
==> Cask instance method 'accessibility_access':
--- 
...
==> Cask instance method 'auto_updates':
--- 
...
==> Hbc::Installer.install
==> Printing caveats
==> Downloading
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
Already downloaded: /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Downloaded to -> /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Verifying download
==> Determining which verifications to run for Cask parallels-desktop
==> Checking for verification class Hbc::Verify::Checksum
==> 1 verifications defined
Hbc::Verify::Checksum
==> Running verification of class Hbc::Verify::Checksum
==> Verifying checksum for Cask parallels-desktop
==> SHA256 checksums match
==> Extracting primary container
==> Determining which containers to use based on filetype
==> Checking container class Hbc::Container::Pkg
==> Checking container class Hbc::Container::Ttf
==> Checking container class Hbc::Container::Otf
==> Checking container class Hbc::Container::Air
==> Checking container class Hbc::Container::Cab
==> Executing: ["/usr/bin/file", "-Izb", "--", "/Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg"]
==> Checking container class Hbc::Container::Dmg
==> Executing: ["/usr/bin/hdiutil", "imageinfo", "/Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg"]
==> Using container class Hbc::Container::Dmg for /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Executing: ["/usr/bin/hdiutil", "mount", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/tmp", "/Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg"]
==> Executing: ["/usr/bin/ditto", "--", "/private/tmp/dmg.wwmdKH", "/opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581"]

My first though was, that it might not be wise to do a sha256 on a 307 MB dmg, but anyway - this should be finished within about 20-40 secs.

@adidalal Verified the downloaded dmg be valid, not corrupted. Manually installing from the dmg downloaded by homebrew cask works. You probably mixed things up, as there is no .pkg for Parallels as to my knowledge.

But console gives this when the Cask hangs:

02.06.16 22:57:53,000 kernel[0]: hfs: mounted Parallels Desktop 11 on device disk2s1
02.06.16 22:57:54,710 diskimages-helper[39287]: *** -[NSMachPort handlePortMessage:]: dropping incoming DO message because the connection is invalid
02.06.16 22:57:54,841 sandboxd[135]: ([39297]) ditto(39297) System Policy: deny forbidden-link-priv

The last line generates this full report

ditto(39297) System Policy: deny forbidden-link-priv

Process:         ditto [39297]
Path:            /usr/bin/ditto
Load Address:    0x102d3b000
Identifier:      ditto
Version:         ??? (???)
Code Type:       x86_64 (Native)
Parent Process:  ruby [39236]
User ID:         501

Date/Time:       2016-06-02 22:57:54.820 +0200
OS Version:      Mac OS X 10.11.5 (15F34)
Report Version:  8

Thread 0:
0   libsystem_kernel.dylib          0x00007fff89358f42 link + 10
1   Bom                             0x00007fff8fa84259 _copyFromDirToDir + 1376
2   Bom                             0x00007fff8fa89130 _copyDir + 2085
3   Bom                             0x00007fff8fa841ca _copyFromDirToDir + 1233
4   Bom                             0x00007fff8fa89130 _copyDir + 2085
5   Bom                             0x00007fff8fa841ca _copyFromDirToDir + 1233
6   Bom                             0x00007fff8fa89130 _copyDir + 2085
7   Bom                             0x00007fff8fa841ca _copyFromDirToDir + 1233
8   Bom                             0x00007fff8fa89130 _copyDir + 2085
9   Bom                             0x00007fff8fa841ca _copyFromDirToDir + 1233
10  Bom                             0x00007fff8fa89130 _copyDir + 2085
11  Bom                             0x00007fff8fa841ca _copyFromDirToDir + 1233
12  Bom                             0x00007fff8fa8214a BOMCopierCopyWithOptions + 11546
13  ditto                           0x0000000102d3d3d7
14  libdyld.dylib                   0x00007fff896455ad start + 1

Binary Images:
       0x102d3b000 -        0x102d3effb  ditto (51) <cfbc779f-d3aa-3705-91cb-ce0af3c20cfb> /usr/bin/ditto
    0x7fff89341000 -     0x7fff8935fff7  libsystem_kernel.dylib (3248.50.21) <78e54d59-d2b0-3f54-9a4a-0a68d671f253> /usr/lib/system/libsystem_kernel.dylib
    0x7fff89642000 -     0x7fff89645ffb  libdyld.dylib (360.22) <cc088c2a-d407-33e7-a6b6-b06e0d4ad999> /usr/lib/system/libdyld.dylib
    0x7fff8fa72000 -     0x7fff8faafff3  com.apple.bom (14.0 - 193.7) <9b8ae30b-24a3-37ab-b04e-4ce67aed4775> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom

Edit
Fully uninstalled, the current Parallels-Desktop Cask gives another error message during installation.

✘  ~/Dropbox/Application Support/dotfiles/Update  brew cask install parallels-desktop
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
######################################################################## 100,0%
==> Verifying checksum for Cask parallels-desktop
==> Moving App 'Parallels Desktop.app' to '/Applications/Parallels Desktop.app'
ERROR: File Not Found. (-43)  on file: /opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581/Parallels Desktop.app 
sudo: /opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581/Parallels Desktop.app/Contents/MacOS/inittool: command not found
🍺  parallels-desktop staged at '/opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581' (32 files, 752K)

hth!

@vitorgalvao
Copy link
Member

Made some fixes to the cask and confirmed it to be working on a clean VM.

@winkelsdorf
Copy link
Contributor

@vitorgalvao Did you also try installing it twice? I.e. installation and afterwards a second pass with --force.

I updated to :head and now the re-installation proceeds a bit more until it freezes with:

 ✘  ~/Dropbox/Application Support/dotfiles/Update  brew cask install parallels-desktop --force
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
Already downloaded: /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Verifying checksum for Cask parallels-desktop
==> It seems there is already an App at '/Applications/Parallels Desktop.app'; overwriting.
==> Removing App: '/Applications/Parallels Desktop.app'
==> chflags: /Applications/Parallels Desktop.app/Icon\r: Permission denied

Sudoing fixes this and gives this output upon a forced re-install:

 ✘  ~/Dropbox/Application Support/dotfiles/Update  sudo brew cask install parallels-desktop --force
Password:
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
Already downloaded: /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Verifying checksum for Cask parallels-desktop
==> It seems there is already an App at '/Applications/Parallels Desktop.app'; overwriting.
==> Removing App: '/Applications/Parallels Desktop.app'
==> Moving App 'Parallels Desktop.app' to '/Applications/Parallels Desktop.app'
Jun  3 14:54:32  pdfm-bootstrap[31715] <Error>: inittool[31691]: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect permissions (0755)
Jun  3 14:54:32  pdfm-bootstrap[31719] <Info>: inittool[31691]: Bundle '/Applications/Parallels Desktop.app' (11.2.0-32581) is not initialized: let's cook it 
Jun  3 14:54:32  pdfm-bootstrap[31720] <Info>: inittool[31691]: Set bundle owners to 'root:wheel' 
Jun  3 14:54:33  pdfm-bootstrap[31731] <Info>: inittool[31691]: Bootstrap actions 
Jun  3 14:54:33  pdfm-bootstrap[31734] <Info>: inittool[31691]: Check for previous version and uninstall if need 
Jun  3 14:54:33  pdfm-bootstrap[31737] <Info>: inittool[31691]: Starting uninstallation procedure of 
INIT_STATE: STATE_UNINSTALL
INIT_PROGRESS: 0
Jun  3 14:54:33  pdfm-bootstrap[31738] <Info>: inittool[31691]: Backup Parallels Desktop [/Applications/Parallels Desktop.app > /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/parallels-desktop.BEXibvBI/Parallels Desktop.app] 
INIT_PROGRESS: 10
Jun  3 14:54:33  pdfm-bootstrap[31741] <Info>: inittool[31691]: Running uninstaller 
INIT_PROGRESS: 35
Jun  3 14:54:33  pdfm-bootstrap[31778] <Info>: inittool[31691]: Restore Parallels Desktop [/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/parallels-desktop.BEXibvBI/Parallels Desktop.app > /Applications/Parallels Desktop.app] 
INIT_PROGRESS: 45
Jun  3 14:54:33  pdfm-bootstrap[31782] <Info>: inittool[31691]: End of uninstallation procedure 
INIT_PROGRESS: 50
Jun  3 14:54:33  pdfm-bootstrap[31783] <Info>: inittool[31691]: Check and remove broken previous version... 
INIT_STATE: STATE_INIT
INIT_PROGRESS: 50
Jun  3 14:54:33  pdfm-bootstrap[31803] <Info>: inittool[31691]: Starting bootstrap action 'install_safari_extensions' in background 
Jun  3 14:54:33  pdfm-bootstrap[31806] <Info>: inittool[31691]: Installing Safari extensions... 
Jun  3 14:54:33  pdfm-bootstrap[31805] <Info>: inittool[31691]: Starting bootstrap action 'fix_sharedapp_bundle' in background 
Jun  3 14:54:33  pdfm-bootstrap[31809] <Info>: inittool[31691]: Starting bootstrap action 'reg_bundles' in background 
Jun  3 14:54:33  pdfm-bootstrap[31821] <Info>: inittool[31691]: Starting bootstrap action 'prlapps_folder_icon' in background 
Jun  3 14:54:33  pdfm-bootstrap[31829] <Info>: inittool[31691]: Starting bootstrap action 'copy_learn_videos' 
Jun  3 14:54:33  pdfm-bootstrap[31833] <Info>: inittool[31691]: Installing Safari extensions for winkelsdorf... 
Jun  3 14:54:33  pdfm-bootstrap[31838] <Info>: inittool[31691]: Endinging bootstrap action 'copy_learn_videos' with exit code '0' 
INIT_PROGRESS: 58
Jun  3 14:54:33  pdfm-bootstrap[31846] <Info>: inittool[31691]: Starting bootstrap action 'fix_library_parallels_dir_owner' 
Jun  3 14:54:33  pdfm-bootstrap[31847] <Info>: inittool[31691]: Fixing Library/Parallels owners... 
Jun  3 14:54:33  pdfm-bootstrap[31858] <Info>: inittool[31691]: * winkelsdorf  OK 
Jun  3 14:54:33  pdfm-bootstrap[31859] <Info>: inittool[31691]: Endinging bootstrap action 'fix_library_parallels_dir_owner' with exit code '0' 
INIT_PROGRESS: 66
Jun  3 14:54:33  pdfm-bootstrap[31860] <Info>: inittool[31691]: Waiting background job 'install_safari_extensions' with pid 31804... 
Jun  3 14:54:34  pdfm-bootstrap[31868] <Info>: inittool[31691]:   'install_safari_extensions' finished successfuly 
INIT_PROGRESS: 74
Jun  3 14:54:34  pdfm-bootstrap[31869] <Info>: inittool[31691]: Waiting background job 'fix_sharedapp_bundle' with pid 31807... 
Jun  3 14:54:34  pdfm-bootstrap[31870] <Info>: inittool[31691]:   'fix_sharedapp_bundle' finished successfuly 
INIT_PROGRESS: 82
Jun  3 14:54:34  pdfm-bootstrap[31871] <Info>: inittool[31691]: Waiting background job 'reg_bundles' with pid 31819... 
Jun  3 14:54:34  pdfm-bootstrap[31872] <Info>: inittool[31691]:   'reg_bundles' finished successfuly 
INIT_PROGRESS: 90
Jun  3 14:54:34  pdfm-bootstrap[31873] <Info>: inittool[31691]: Waiting background job 'prlapps_folder_icon' with pid 31828... 
Jun  3 14:54:34  pdfm-bootstrap[31874] <Info>: inittool[31691]:   'prlapps_folder_icon' finished successfuly 
INIT_PROGRESS: 98
Jun  3 14:54:34  pdfm-bootstrap[31875] <Info>: inittool[31691]: Remove temporary directory (/tmp/parallels-desktop-init-31691.tmp) 
Jun  3 14:54:34  pdfm-bootstrap[31877] <Info>: inittool[31691]: Write Stat Info about installation 
🍺  parallels-desktop staged at '/opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581' (32 files, 752K)

That looks better, despite giving some warnings/errors about ownership and permissions.

Probably just need to add the sudo required flag to that cask due to it's services? Should be sufficient, as forced re-installation is not going to happen that often (and that console garbage is imo acceptable in that case).

Cheers,
Frederik

@claui
Copy link
Contributor

claui commented Jun 3, 2016

@winkelsdorf Can reproduce by doing sudo -K beforehand.

Probably just need to add the sudo required flag to that cask due to it's services?

That shouldn’t be necessary as Homebrew Cask should ask for the sudo password by default whenever it feels it is unable to move the .app bundle.

I’m looking into this.

@claui claui self-assigned this Jun 3, 2016
@claui claui added awaiting maintainer feedback Issue needs response from a maintainer. and removed awaiting user reply Issue needs response from a user. labels Jun 3, 2016
@vitorgalvao
Copy link
Member

Did you also try installing it twice? I.e. installation and afterwards a second pass with --force.

I did not. Since we’re undergoing breaking changes and hence we can’t as accurately detect the sources of problems, I think it’s best to ask users to nuke the app and reinstall after.

gives this output upon a forced re-install

That output is generated by parallels’ own install script. We could easily silence it, but having it there might be more sensible.

@winkelsdorf
Copy link
Contributor

@claui Thanks for confirmation and having a look into that 👍

My guess is that the sudo requirement is probably triggered on re-installation by an already running Parallels service/kext..

@vitorgalvao Fully agreed. I followed #13201 and #13966 quite a while, re-installing my casks was part of testing, like a silent contribution.

That output is generated by parallels’ own install script. We could easily silence it, but having it there might be more sensible.

Yes of course that's from the Parallels script, but again agreed: in that case should probably not be silenced. What I wanted to point out was that it complains about wrong permissions when (re-)installed via Cask, 9th line:

Jun  3 14:54:32  pdfm-bootstrap[31715] <Error>: inittool[31691]: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect permissions (0755)

But this has no consequences at all (works fine after installation) and I can't compare against cask-less installation as I don't have a log for this situation around.

So except for Parallels and another Cask (Google Music Match, https://github.com/caskroom/homebrew-cask/blob/master/Casks/music-manager.rb) I had no problems with the changed installation behavior! 💯

Will create an issue for Google Music Match shortly.

Cheers,
Frederik

@claui claui added bug Issue describing a reproducible bug. core Issue with Homebrew itself rather than with a specific cask. and removed awaiting maintainer feedback Issue needs response from a maintainer. labels Jun 3, 2016
@claui
Copy link
Contributor

claui commented Jun 3, 2016

Closing this issue as it will be fixed with PR #21665.
Thanks to everyone who contributed their detailed report!

@claui claui closed this as completed Jun 3, 2016
jawshooah pushed a commit that referenced this issue Jun 4, 2016
* Write failing tests for issue #18638

* Fix `Hbc::SystemCommand` to avoid deadlocks; ref #18638

The current implementation of `Hbc::SystemCommand` uses the `Open3` library in a way that causes a deadlock in cases where `STDERR` grows beyond a certain size.

This commit fixes the issue by following the practice suggested in the Ruby documentation, i. e. choosing a stream selection method that avoids deadlocks.
chizmw pushed a commit to chizmw/homebrew-cask that referenced this issue Jun 15, 2016
* Write failing tests for issue Homebrew#18638

* Fix `Hbc::SystemCommand` to avoid deadlocks; ref Homebrew#18638

The current implementation of `Hbc::SystemCommand` uses the `Open3` library in a way that causes a deadlock in cases where `STDERR` grows beyond a certain size.

This commit fixes the issue by following the practice suggested in the Ruby documentation, i. e. choosing a stream selection method that avoids deadlocks.
@miccal miccal removed bug Issue describing a reproducible bug. core Issue with Homebrew itself rather than with a specific cask. labels Dec 23, 2016
@Homebrew Homebrew locked and limited conversation to collaborators May 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants