P9's inittool is buggy and prevents installation

Discussion in 'Installation and Configuration of Parallels Desktop' started by DesktopU, Jun 16, 2014.

  1. DesktopU

    DesktopU Bit poster

    Messages:
    4
    P9's inittool is buggy and prevents installation - error 15380

    During installation, Parallels Desktop runs "inittool" (inittool -b /Applications/Parallels Desktop.app). In our environment with Active Directory-based accounts, inittool gets stuck and retries over and over again, spawning more and more instances of inittool (I've seen over 850 inittool processes running on a single machine).

    Code:
    34574   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34620   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34667   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34713   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34759   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34806   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34852   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34898   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34944   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    34990   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    35036   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    35082   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app 
    35128   ??  S      0:00.05 /bin/bash /Applications/Parallels Desktop.app/Contents/MacOS/inittool init -b /Applications/Parallels Desktop.app
    ........
    Code:
    bash-3.2# ps ax | grep -i inittool | wc
         879    9665  124779
    See: inittool-ps.txt

    When that tool and command is invoked directly, the following errors are output:

    Code:
    Jun 17 12:04:48 localhost inittool[67496] <Error>: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect owners (0:1746073134)
    Jun 17 12:04:48 localhost inittool[67497] <Info>: Bundle not initialized. Let's preinitialize them 
    Jun 17 12:04:48 localhost inittool[67522] <Error>: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect owners (0:1746073134)
    Jun 17 12:04:48 localhost inittool[67525] <Info>: Set bundle owners to '0:0' 
    Jun 17 12:04:50 localhost inittool[67556] <Info>: Restart initialization with root permissions () 
    Jun 17 12:04:50 localhost inittool[67599] <Error>: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect owners (0:1746073134)
    Jun 17 12:04:50 localhost inittool[67600] <Info>: Bundle not initialized. Let's preinitialize them 
    Jun 17 12:04:50 localhost inittool[67628] <Error>: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect owners (0:1746073134)
    Jun 17 12:04:50 localhost inittool[67630] <Info>: Set bundle owners to '0:0' 
    Over and over and over.

    See: inittool-manual-execution.txt

    These are the filesystem events that inittool is apparently doing:

    Code:
    fs_usage | grep -i Parallels | grep -i chown
    16:57:58  open              ParallelsDesktopHelp                                                             0.000006   chown
    16:57:58  lstat64           Parallels Desktop Help.helpindex                                                 0.000003   chown
    16:57:58  lstat64           pd_interface_parallels_icon_menu.png                                             0.000003   chown
    16:57:58  chown             Parallels Desktop Help.helpindex                                                 0.000013   chown
    16:57:58  chown             pd_interface_parallels_icon_menu.png                                             0.000011   chown
    16:57:58  chown             ParallelsDesktopHelp                                                             0.000012   chown
    16:57:58  lstat64           parallels.qm                                                                     0.000003   chown
    16:57:58  lstat64           ParallelsDesktopHelp                                                             0.000003   chown
    16:57:58  chown             parallels.qm                                                                     0.000010   chown
    16:57:58  open              ParallelsDesktopHelp                                                             0.000004   chown
    16:57:58  lstat64           Parallels Desktop Help.helpindex                                                 0.000003   chown
    16:57:58  lstat64           pd_interface_parallels_icon_menu.png                                             0.000003   chown
    16:57:58  chown             Parallels Desktop Help.helpindex                                                 0.000045 W chown
    16:57:58  chown             pd_interface_parallels_icon_menu.png                                             0.000012   chown
    16:57:58  chown             ParallelsDesktopHelp 
    
    As you can see, these repeat over and over and over endlessly as inittool gets stuck unsuccessfully - or repeatedly - trying to change ownership.

    See: inittool-chown.txt

    Our UniqueIDs are fine. Only "root" is zero.
    Code:
    dscl . -list /Users UniqueID | grep -i " 0"
    root                    0
    See: UniqueID.txt

    Eventually the installer seems to give up, unable to resolve the inittool problems, and reports the error code 15380.

    These problems occur regardless of whether Parallels Desktop is installed manually via the downloaded disk image, or via the AutoDeploy pkg method, since they both run the inittool -b command that seems to be the sticking point.

    Background: all our regular user accounts are from Active Directory, via the OS X Active Directory plug-in, and therefore have "high" uids (e.g.: mine is 9 digits). We do not use local accounts at all. However, I also created and used a local account (which did not have uid 0) and the same problem occurred. All the info in the 15380 KB articles has been of no use. I have had at least 20 people report this problem, which appears to have been introduced in Parallels Desktop 9.
    OS X 10.9 has been getting the "blame", however since it also occurs on OS X 10.8.5 where P8 had successfully installed, P9 itself is quite clearly the culprit.

    Clever obfuscation (hidden Install.mpkg and Parallels Desktop.app) and self-repairing applications went out with the 00s. How about cut out the nonsense - that makes things more difficult for users and administrators, not less - and a wrap it in an actual installer that sets perms and ownership at install time? Trying to be overly clever just introduces more opportunities for failure. And by this point I'm going to start recommending my P9 users request a refund from you and migrate to Fusion instead.
     

    Attached Files:

    Last edited: Jun 17, 2014
  2. DesktopU

    DesktopU Bit poster

    Messages:
    4
    Okay, I have proved conclusively that in P9 v9.0 Build 24229, inittool is not written correctly.
    I have been able to solve our problems by doing:

    Code:
    bash-3.2# /usr/bin/chgrp accessibility /Applications/Parallels\ Desktop.app/Contents/MacOS/Parallels\ Service /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_event_tap
    The bug in inittool is that it's trying to use gids instead. In our Active Directory-based environment, setting the group to "90" sets it to an Active Directory group "90". i.e.: DOMAIN\90. Since this is not correct, inittool tries again and again and again, but is doomed to failure.

    THIS IS WRONG AND VERY BAD PRACTICE.
    Please fix your software.
     
    Last edited: Jun 17, 2014
  3. rkulikov

    rkulikov Parallels Developers

    Messages:
    313
    Workaround:
    $ sudo chown root:accessibility '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service'
    $ sudo chown root:accessibility '/Applications/Parallels Desktop.app/Contents/MacOS/prl_event_tap'
    $ sudo chown root:admin '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels VM.app/Contents/MacOS/Parallels Inverse Sharing.app/Contents/MacOS/vfstool'
     
  4. DesktopU

    DesktopU Bit poster

    Messages:
    4
    Still broken in 9.0.24237.
     

Share This Page