1 2 3 Previous Next 38 Replies Latest reply on Jun 4, 2010 4:30 AM by jcottier

    Workstation Installer Hang 6.5.3 and Workaround

    BitOBear Enthusiast

       

      I just encountered a hang installing Workstation on Ubuntu Karmic.

       

       

      Symptom: you are running a an install using 6.5.3 bundle and you get to "Configuring VMWare Player" and then everything stops indefinitely.

       

       

      Cause: the installer runs vmware-modconfig-console which produces enough output with some kernels that the python engine deadlocks is command piplining during the compile.

       

       

      Technical Details: It is always dangerous for a linux/unix program to use the pipe-based "run a sub-command" library calls if it isn't ready to read all the output in one thread while waiting for the command to complete in another. Normally such commands should either be reading the result text or redirecting that result text to /dev/null. The naieve version just runs the command and waits for the result.  But if the result text is larger than the system pipe buffer size, the command will block while trying to send its output, and the command never finishes. With the command waiting for the parent to read the data, and the parent waiting for the command to finish, the whole shebang just comes to a stop.

       

       

      Why this is happening: The current driver patches for the 2.6.31 kernels produce a lot of warning messages about the symbols MSVCVER and __FREE_BSD__ being not defined. This never happened before, and whoever wrote the installer never tried it against a long stream of output. So with the new warning stream the compile and the installer deadlock as above.

       

       

      Workaround: There are three phases to the work around; It is necessary to catch and kill the compile step; this, in turn would cause the installer to back out the installation, so you have to stop that from happening; then you have to compile the modules manually.

       

       

      Steps:

       

       

      1) open two command windows.

       

       

      2) become root in one of those windows. i.e. "su -". (If you havn't set your root password in Ubuntu use "sudo su -" and your login password)

       

       

      3) in the root-ed window run "while true; do killall -9 vmware-modconfig-console; sleep 1; done" this wil try, once each second, to kill the module compile step. Ignore the stream of not-found messages.

       

       

      4) in the non-root window run the install with sudo and the --ignore-errors argument; i.e.  "sudo ./VMware-Workstation-6.5.3-185404.i386.bundle --ignore-errors". This will take a little longer than usual because of the continuous killall above, don't sweat it.

       

       

      5) once the installer finishes go back to the root window and do a control-C to stop the kill loop.

       

       

      6) In the root window run "vmware-modconfig --console --install-all" to install the modules.

       

       

      Caveats and Tips:

       

       

      a) Once you have a hung installer session you have to kill the python command that is running the installer. Think of that as a step-0 if it comes up. 8-)

       

       

      b) If the installer still hangs, the kill loop may not be fast enough; start over but leave the 'sleep 1;' out of the kill loop. It will slow down the install even more, but it is more likely to catch the command in time.

       

       

      ASIDE: It woudl be nice if the installer had a don't compile the modules step...

       

       

      Hopefully the installer will be fixed soon.

       

       

       

       

       

        1 2 3 Previous Next