We are using the following code fragment to copy files to and from a guest OS. The code is being run on Ubuntu 8.04.
-
jobHandle = VixHost_Connect(VIX_API_VERSION,
CONNTYPE,
host,
HOSTPORT,
esx_username,
esx_password,
0,
VIX_INVALID_HANDLE,
NULL,
NULL);
err = VixJob_Wait(jobHandle, VIX_PROPERTY_JOB_RESULT_HANDLE,
&hostHandle, VIX_PROPERTY_NONE);
Vix_ReleaseHandle(jobHandle);
jobHandle = VIX_INVALID_HANDLE;
if (VIX_FAILED(err))
{
fprintf(stderr, "Could not connect to host (%"FMT64"d %s)\n", err,
Vix_GetErrorText(err, NULL));
return_code = VIX_API_COULD_NOT_CONNECT_TO_HOST;
goto error;
}
jobHandle = VixVM_Open(hostHandle,
vmpath,
NULL,
NULL);
err = VixJob_Wait(jobHandle, VIX_PROPERTY_JOB_RESULT_HANDLE,
&vmHandle, VIX_PROPERTY_NONE);
-
When the host is an ESX server (version 3.5 or 4.0) the code succeeds 100% of the time.
When the host is a vCenter Server 4.1 the code aborts approximately 15% of the time during the call to VixJob_Wait.
When it fails the output from the program is:
-
(process:27760): GLib-GObject-WARNING **: invalid uninstantiatable type `gdouble' in cast to `GObject'
(process:27760): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(process:27760): GLib-GObject-WARNING **: invalid uninstantiatable type `gdouble' in cast to `GObject'
(process:27760): GLib-GObject-CRITICAL **: g_object_notify: assertion `G_IS_OBJECT (object)' failed
(process:27760): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `gdouble'
(process:27760): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(process:27760): GLib-GObject-WARNING **: invalid uninstantiatable type `gdouble' in cast to `GObject'
(process:27760): GLib-GObject-CRITICAL **: g_object_notify: assertion `G_IS_OBJECT (object)' failed
(process:27760): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `gdouble'
(process:27760): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(process:27760): GLib-GObject-WARNING **: invalid uninstantiatable type `gdouble' in cast to `GObject'
(process:27760): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(process:27760): GLib-GObject-WARNING **: invalid uninstantiatable type `gdouble' in cast to `GObject'
(process:27760): GLib-GObject-CRITICAL **: g_object_notify: assertion `G_IS_OBJECT (object)' failed
(process:27760): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `gdouble'
(process:27760): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(process:27760): GLib-GObject-WARNING **: invalid uninstantiatable type `gdouble' in cast to `GObject'
(process:27760): GLib-GObject-CRITICAL **: g_object_notify: assertion `G_IS_OBJECT (object)' failed
(process:27760): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `gdouble'
(process:27760): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
ERROR **: file /build/mts/release/bora-127388/bora/vim/lib/gvmomi/gvmomiSession.c: line 1253 (gvmomi_session_invoke_method): assertion failed: (NULL == g_hash_table_lookup(session->priv->listenerTable, listener))
aborting...
-
The backtrace from gdb is
-
(gdb) thread 1
#0 0xb7f9e410 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7f9e410 in __kernel_vsyscall ()
#1 0xb7dc1085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7dc2a01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7b204f7 in g_logv () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libglib-2.0.so.0
#4 0xb7b20529 in g_log () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libglib-2.0.so.0
#5 0xb7b205a7 in g_assert_warning () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libglib-2.0.so.0
#6 0xb7624969 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#7 0xb7740125 in vmodl_vim_virtual_machine_acquire_mks_ticket () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#8 0xb6ff7935 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#9 0xb6ff8098 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#10 0xb7ac94fb in g_cclosure_marshal_VOID__VOID () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#11 0xb7abc06b in g_closure_invoke () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#12 0xb7accc93 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#13 0xb7ace187 in g_signal_emit_valist () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#14 0xb7ace339 in g_signal_emit () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#15 0xb7623261 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#16 0xb7628be4 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#17 0xb7629817 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#18 0xb7ac94fb in g_cclosure_marshal_VOID__VOID () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#19 0xb7abc06b in g_closure_invoke () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#20 0xb7accc93 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#21 0xb7ace187 in g_signal_emit_valist () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#22 0xb7ace339 in g_signal_emit () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgobject-2.0.so.0
#23 0xb7623261 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#24 0xb7624bb8 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#25 0xb762e9c2 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libgvmomi.so.0
#26 0xb700baed in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#27 0xb700a807 in Poll_LoopTimeout () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#28 0xb6fa6fe9 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#29 0xb7089bf3 in ?? () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#30 0xb7a9b4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#31 0xb7e6ce5e in clone () from /lib/tls/i686/cmov/libc.so.6
(gdb) thread 2
#0 0xb7f9e410 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7f9e410 in __kernel_vsyscall ()
#1 0xb7e62c07 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb708ad57 in SyncEvent_Wait () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#3 0xb6fa55d2 in VixJob_WaitVargs () from /usr/lib/vmware-vix/lib/VIServer-2.0.0/32bit/libvix.so
#4 0xb7f657cf in VixJob_Wait () from /lib/libvixAllProducts.so
#5 0x08048b71 in main ()
-
Does anyone know the cause of the problem, and if there is a fix?
Thanks
Ian