Jan 07 2010

VMWare Server 2.0.2 Crashes Virtual Machines on Linux Host

Category: Tutorialsadmin @ 8:47 pm

There is currently a problem on CentOS where if you have vmware server 2.0.2 installed and have decided to upgrade/update the system, then it would have updated the glibc libraries.

Vmware server uses the glibc libraries and the new ones seem to be incompatible with the server which will make vmware-hostd crash your virtual machines.

By looking at the log of a crash you will see something like:

Jan 07 12:48:21.316: vmx| SymBacktrace[16] 0xbf92dfb8 eip 0×80504ef in function (null) in object /usr/lib/vmware/bin/vmware-vmx loaded at 0×8048000
Jan 07 12:48:21.316: vmx| SymBacktrace[17] 0xbf92e028 eip 0×99ee9c in function __libc_start_main in object /lib/libc.so.6 loaded at 0×989000
Jan 07 12:48:21.316: vmx| SymBacktrace[18] 00000000 eip 0×804d3d1 in function (null) in object /usr/lib/vmware/bin/vmware-vmx loaded at 0×8048000
Jan 07 12:48:21.316: vmx| Msg_Post: Error
Jan 07 12:48:21.316: vmx| [msg.log.error.unrecoverable] VMware Server unrecoverable error: (vmx)
Jan 07 12:48:21.316: vmx| Unexpected signal: 6.
Jan 07 12:48:21.316: vmx| [msg.panic.haveLog] A log file is available in “/var/lib/vmware/Virtual Machines/WinMail-01/vmware.log”.  [msg.panic.requestSupport.withLog] Please request support and include the contents of the log file.  [msg.panic.requestSupport.vmSupport.windowsOrLinux]
Jan 07 12:48:21.316: vmx| To collect data to submit to VMware support, select Help > About and click “Collect Support Data”. You can also run the “vm-support” script in the Workstation folder directly.
Jan 07 12:48:21.316: vmx| [msg.panic.response] We will respond on the basis of your support entitlement.
Jan 07 12:48:21.316: vmx| —————————————-
Jan 07 12:48:21.416: vcpu-0| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.420: mks| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.424: Worker#13| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.424: Worker#7| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.425: Worker#0| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.425: Worker#8| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.425: Worker#1| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.425: Worker#11| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.425: Worker#4| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.425: Worker#3| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.425: Worker#17| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.425: Worker#14| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.425: Worker#2| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.427: Worker#9| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.427: Worker#16| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.427: Worker#15| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.428: Worker#12| VTHREAD watched thread 4 “vcpu-0″ died
Jan 07 12:48:21.428: Worker#6| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.428: Worker#10| VTHREAD watched thread 0 “vmx” died
Jan 07 12:48:21.428: Worker#5| VTHREAD watched thread 0 “vmx” died

To fix this or at least to get around it, you can try the several workarounds:

Using an older glibc on vmware:

  • mkdir /usr/lib/vmware/lib/libc.so.6
  • cd /tmp
  • mkdir tmp
  • cd tmp
  • wget http://mirror.centos.org/centos/5.3/os/x86_64/CentOS/glibc-2.5-34.x86_64.rpm
  • rpm2cpio glibc-2.5-34.x86_64.rpm | cpio -ivd
  • mv lib64/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/libc.so.6
  • Open /usr/sbin/vmware-hostd and add /usr/lib/vmware/lib/libc.so.6 to the LD_LIBRARY_PATH. I just added an “export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH” before the last line.
  • Restart your vmware services (our just the host)

Second Method: Downgrade GlibC

  • Step 1: Go to /etc/yum.repos.d and copy the file CentOS-Base.repo to CentOS53-Base.repo
  • Step 2: In CentOS53-Base.repo, rename all the packages to reflect the 5.3 version. So, change:
[base] --> [base53]
[updates] --> [updates53]
[addons] --> [addons53]
[extras] --> [extras53]
[centosplus] --> [centosplus53]
[contrib] --> [contrib53]
  • Step 3: In CentOS53-Base.repo, replace all instances of release=$releasever with release=5.3
  • Step 4: Now, downgrade the glibc and glibc-common libraries by running the following commands:
yum downgrade glibc glibc-common
  • Step 5: To avoid any problems with future upgrades/updates, it would be best to exclude them from the list of available updates on yum. Add the following to your /etc/yum.conf file:
exclude=glibc glibc-common glibc-devel glibc=headers nscd
  • Step 6: Reboot the server, and now re-run /usr/bin/vmware-config.pl to reconfigure with downgraded glibc libraries.
/usr/bin/vmware-config.pl
  • Step 7: (Optional) Run the following command to make sure future upgrades/updates will not download the updated glibc* libraries.
yum list glibc*

One Response to “VMWare Server 2.0.2 Crashes Virtual Machines on Linux Host”

  1. Virtual Worker News | Daydreams and Virtual Scapes says:

    [...] VMWare Server 2.0.2 Crashes Virtual Machines on Linux Host Jan 07 12:48:21.424: Worker#13| VTHREAD watched thread 4 “vcpu-0″ died Jan 07 12:48:21.424: Worker#7| VTHREAD watched thread 0 “vmx” died Jan 07 12:48:21.425: Worker#0| VTHREAD watched thread 0 “vmx” died Jan 07 12:48:21.425: Worker#8| … [...]

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes