From: VMware, Inc <> Date: Tue, 13 Mar 2012 20:09:34 +0000 (-0700) Subject: Fix tools uninstall crash when stopping vmuser X-Git-Tag: 2012.03.13-651368~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2abe0b1b8ee96c36da47966fd4e2131601b1e81a;p=thirdparty%2Fopen-vm-tools.git Fix tools uninstall crash when stopping vmuser During uninstall/upgrade, tools launches vmtoolsd.exe -n vmusr --kill to stop the existing user process. The new instance however crashes before it could send the message, and therefore the existing vmuser process remains. The problem is uninstall doesn't wait for the process to finish, and proceeds with the uninstall. This removes the Tools registry entry which vmtoolsd.exe tries to read on startup. It hits the assert and crashes the process. The fix is in two places. We fixed vmtoolsd.exe so it doesn't assert if the registry entry doesn't exist, and updated the installer to launch and wait for the process to finish before continue. Signed-off-by: Dmitry Torokhov --- diff --git a/open-vm-tools/libvmtools/i18n.c b/open-vm-tools/libvmtools/i18n.c index b92251204..c526e83ed 100644 --- a/open-vm-tools/libvmtools/i18n.c +++ b/open-vm-tools/libvmtools/i18n.c @@ -738,9 +738,8 @@ VMTools_BindTextDomain(const char *domain, dfltdir = Util_SafeStrdup(VMTOOLS_DATA_DIR); #else dfltdir = GuestApp_GetInstallPath(); - ASSERT_MEM_ALLOC(dfltdir); #endif - catdir = dfltdir; + catdir = (dfltdir) ? dfltdir : "."; } file = g_strdup_printf("%s%smessages%s%s%s%s.vmsg",