VMware {code} Community
peteroberauer
Contributor
Contributor

VDDK and VIX third party dll incompatibility on Windows

We are using both the VMware VDDK 1.1.1 API and the VIX API from our backup

application.

VDDK 1.1.1 and VIX 1.6.2 coexisted fine, used from the same Windows executable.

However, since upgrading to VIX 1.8.1, the VDDK's VixDiskLib_Open fro write crashes with the following stacktrace:

	vixDiskLibVim.dll!039342c9() 	
	vixDiskLibVim.dll!03934c12() 	
	gvmomi.dll!1110bb61() 	
	libcurl.dll!00368704() 	
	libcurl.dll!0036908f() 	
	gvmomi.dll!1110b88a() 	
	gvmomi.dll!1110b96a() 	
	gvmomi.dll!111034a4() 	
	gvmomi.dll!11105ad3() 	
	gvmomi.dll!1110401c() 	
	gvmomi.dll!11105bbb() 	
	vixDiskLibVim.dll!039339d9() 	
	vixDiskLibVim.dll!039346da() 	
	vixDiskLibVim.dll!039353dd() 	
	vixDiskLibVim.dll!0393445e() 	
	vixDiskLibVim.dll!039341d6() 	
	vixDiskLib.dll!01c7217a() 	
	vixDiskLib.dll!01c73568() 	
	vixDiskLib.dll!01c737de() 

This occurs when the VDDK is used with either VIX 1.8.1 or VIX 1.10b

The VDDK and VIX have a few third party libraries in common, but

different versions of them:

                   vix 1.8.1    vddk 1.1.1
                   -----------------------
glib-2.0.dll       2.16.4.0     2.12.12.0
gobject-2.0.dll    2.16.4.0     2.12.12.0
gthread-2.0.dll    2.16.4.0     2.12.12.0
gvmomi.dll         6.5.0.8977   
iconv.dll          1.9.0.0      1.9.0.0
intl.dll           0.14.6.0     0.14.5.0
libcurl.dll
libeay32.dll       0.9.8.9
liblber.dll
libldap_r.dll
libxml2.dll
ssleay32.dll       0.9.8.9

The VDDK has older libraries.

One would hope that merging the two, and where they are common, using the newer third party dlls that come with VIX would work, but that gives the crash above.

The other way around, using the older common dlls from the VDDK of course results in missing symbols:

vix.dll requires gvmomi.dll gvmomi_quark_version_vim25_2_5u2server

which the VDDK's gvmomi.dll does not have.

Are there compatible distros of the VDDK and VIX that have the same third party dependencies?

Anyone else use VDDK and VIX from the same executable?

0 Kudos
3 Replies
admin
Immortal
Immortal

The problem is that 1.1.1 does not yet support the latest vSphere version. The next vddk version will have 2.16.4 glib.

Thanks

Sudarsan

0 Kudos
peteroberauer
Contributor
Contributor

Thank you Sudarsan

I have heard from VMware SDK Developer Support that "the fix for this issue is expected to be made available in future VIX API release ... This would require users to initialize the VDDK library first, and then call VixHost_Connect. VIX has been modified to work properly after VDDK is initialized."

I understand that the future release of VIX will fix the library conflict, and that a future version of the VDDK will support the latest vSphere version (4.1)?

Thank you

-- Peter

0 Kudos
stanguturi
VMware Employee
VMware Employee

Latest version 1.10 of vix api was released last week. Please download the latest vix and see if it solves the issue.

-Thanks

Sankar.

0 Kudos