[vbox-dev] VirtualBox Teleporting and SOAP API "waitForCompletion"

Joseph Smith joseph1962smith at yahoo.com
Mon Sep 6 13:24:25 GMT 2010



Hi,

I searched bugtracker and did not see this reported .. so I believe this may be 
a new problem.

Version: 3.2.8 PUEL
Host-1: openSuSE 11.1
Host-2: openSuSE 11.2
Host-3: Windows XP
Host-4: Mac OSX 10.6.4
VMs: WinXP, openSuSE, RedHat, FreeBSD, Vista, OpenSolaris, etc

I have not had to teleport any VM's for a while until just recently and have 
encountered a problem that I do not recall happening before.  It seems calling 
progressRef::waitForCompletion with a -1 (means wait forever) during a power-up 
for a teleport operation never returns.  This is using the PHP Wrappers and my 
".ini" settings for my script are set to never time-out.

The steps I follow are:

Target Host:
----------------
1) Get a new ISession for the machine to be teleported
2) Get the refID for the machine from the ISession object
3) set-up for teleport (set teleporterEnabled, teleporterAddress, 
teleporterPort, teleporterPassword values)
4) Save the machine settings
5) Close the ISession
6) Power-Up the VM (get new ISession, etc) (progressRef is returned)
7) Call progressRef::waitForCompletion (-1)

Source Host:
----------------
8) Get Console for source VM
9) Call Console::teleport

Step #7 will wait forever (ok .. so I only waited for up-to 10 minutes) and it 
does not come back.  This problem happens regardless of the OS running in the 
guest that is being teleported and regardless of the host on which I originate 
the request.

At the same time, on the target host, the console shows "Waiting for incoming VM 
… (2/3)" in a modal dialog .. and then eventually aborts from a timeout.

I do not recall this happening in v3.1.8 (might be wrong here) and am not really 
in a position to downgrade to confirm.

In playing around, I have found that by setting my timeout long enough (I'm 
using 10,000ms now), though progressWait returns after the timeout (not because 
of completion but because of reaching the end of the timeout), the VM teleport 
is actually ready to continue and I can go ahead and complete the teleport 
process by calling Console::teleport on the source.  The teleport will then 
complete successfully.  If I set my timeout much less than 10sec (say 3sec - 
5sec) .. attempting to continue will result in an exception and the teleport 
will fail.  Depending on what's happening on the target host, the time the 
target VM can be ready to teleport that I have observed can vary from 3sec to as 
much as 8sec.

Though setting the timeout long-enough works .. depending on the speed of the 
target system, the time to prep for the teleportation does vary.

Has anyone seen this problem?  Is there something else I need to be checking for 
or doing?  I'll wait to see what responses I get to determine if this should be 
opened in bugtracker.


Thanks,
Joe


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20100906/898b0c37/attachment.html>


More information about the vbox-dev mailing list