Home > Applications & Tools, Virtualization > Troubleshooting Open VMware Tools

Troubleshooting Open VMware Tools

August 2nd, 2017 Leave a comment Go to comments

As I wrote in a previous article, installing open vmware tools can be as simple as one command on Linux. It worked for us all the time. Exceptions do happen sometimes. I recently helped a troubleshooting case in which the open vmware tools failed to start. Here are some of the troubleshooting steps and solution that you can apply if you will get into such cases.

Identify Causes

Time to learn how to "Google" and manage your VMware and clouds in a fast and secure

HTML5 App

The first thing is to find out where it fails. The systemctl command can give you a pretty good idea on what had happened.

[root@localhost]# systemctl status vmtoolsd
● vmtoolsd.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/usr/lib/systemd/system/vmtoolsd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2017-07-27 08:25:22 PDT; 4s ago
     Docs: http://github.com/vmware/open-vm-tools
  Process: 14845 ExecStart=/usr/bin/vmtoolsd (code=exited, status=127)
 Main PID: 14845 (code=exited, status=127)
 
Jul 27 08:25:22 localhost.localdomain systemd[1]: Started Service for virtual machines hosted on VMware.
Jul 27 08:25:22 localhost.localdomain systemd[1]: Starting Service for virtual machines hosted on VMware...
Jul 27 08:25:22 localhost.localdomain vmtoolsd[14845]: /usr/bin/vmtoolsd: error while loading shared libraries: /lib64/libdnet.so.1: file too short
Jul 27 08:25:22 localhost.localdomain systemd[1]: vmtoolsd.service: main process exited, code=exited, status=127/n/a
Jul 27 08:25:22 localhost.localdomain systemd[1]: Unit vmtoolsd.service entered failed state.
Jul 27 08:25:22 localhost.localdomain systemd[1]: vmtoolsd.service failed.

As it indicates, the library file is too short. How short? The following commands show the library file is zero sized. No wonder!

[root@localhost]# ls /lib64/libdnet.so.1 -l
lrwxrwxrwx. 1 root root 16 Jul 25 23:28 /lib64/libdnet.so.1 -> libdnet.so.1.0.1
[root@localhost]# ls /lib64/libdnet.so.1.0.1 -l
-rwxr-xr-x. 1 root root 0 Jun  9  2014 /lib64/libdnet.so.1.0.1
 
If you install libdnet package, the install will tell you the package has been installed. To make it work, you got to remove the open vmware tools first and then install the libdnet package. After that, you will something like the following. As you notice, the size of the library becomes 62936 bytes - seems right.
 
[root@localhost]# ls /lib64/libdnet* -l
lrwxrwxrwx. 1 root root    16 Jul 27 08:30 /lib64/libdnet.so.1 -> libdnet.so.1.0.1
-rwxr-xr-x. 1 root root 62936 Jun  9  2014 /lib64/libdnet.so.1.0.1
 
Then you can restart the open vmware tools and check its running status:
 
[root@localhost]# systemctl restart vmtoolsd
[root@localhost]# systemctl status vmtoolsd
● vmtoolsd.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/usr/lib/systemd/system/vmtoolsd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2017-07-27 08:31:44 PDT; 9s ago
     Docs: http://github.com/vmware/open-vm-tools
  Process: 15155 ExecStart=/usr/bin/vmtoolsd (code=exited, status=127)
 Main PID: 15155 (code=exited, status=127)
 
Jul 27 08:31:44 localhost.localdomain systemd[1]: Started Service for virtual machines hosted on VMware.
Jul 27 08:31:44 localhost.localdomain systemd[1]: Starting Service for virtual machines hosted on VMware...
Jul 27 08:31:44 localhost.localdomain vmtoolsd[15155]: /usr/bin/vmtoolsd: error while loading shared libraries: /lib64/libicui18n.so.50: file too short
Jul 27 08:31:44 localhost.localdomain systemd[1]: vmtoolsd.service: main process exited, code=exited, status=127/n/a
Jul 27 08:31:44 localhost.localdomain systemd[1]: Unit vmtoolsd.service entered failed state.
Jul 27 08:31:44 localhost.localdomain systemd[1]: vmtoolsd.service failed.

It turns out that same thing happened to the libicui package. Again, simply installing it again does not work – the installer will simply tell you that “Package libicu-50.1.2-15.el7.x86_64 already installed and latest version
Nothing to do”

You want to remove the open vmware tools first and then install the libicui before re-installing again. Once it’s done, the open vmware tools will start to work correctly.

Full Solution

[root@localhost]# yum remove open-vm-tools
[root@localhost]# yum install -y libicu
[root@localhost]# yum install -y open-vm-tools
 
[root@localhost]# systemctl restart vmtoolsd
[root@localhost]# systemctl status vmtoolsd
● vmtoolsd.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/usr/lib/systemd/system/vmtoolsd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-07-27 08:45:27 PDT; 10s ago
     Docs: http://github.com/vmware/open-vm-tools
 Main PID: 15749 (vmtoolsd)
   CGroup: /system.slice/vmtoolsd.service
           └─15749 /usr/bin/vmtoolsd
 
Jul 27 08:45:27 localhost.localdomain systemd[1]: Started Service for virtual machines hosted on VMware.
Jul 27 08:45:27 localhost.localdomain systemd[1]: Starting Service for virtual machines hosted on VMware...
  1. August 2nd, 2017 at 00:08 | #1

    [DoubleCloud] Troubleshooting Open VMware Tools https://t.co/qmD11SXnpO

  2. August 2nd, 2017 at 02:18 | #2

    Troubleshooting Open VMware Tools https://t.co/LnjLFUiqIl #VMTN

  1. No trackbacks yet.