<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Max,<br>
<div class="moz-cite-prefix">On 27.11.2014 11:54, Maxime Dor wrote:<br>
</div>
<blockquote cite="mid:547702F9.6050500@altherian.org" type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
Hi,<br>
<br>
About why the memory setting can be changed, could it the same
underlying issue than this one?<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://www.virtualbox.org/ticket/12164">https://www.virtualbox.org/ticket/12164</a><br>
</blockquote>
Good point. Which again makes it a mystery why HPET is different, as
it uses exactly the same (probably broken) state check. Quite
certain that no one found time to figure out what exactly is subtly
broken, leave alone fixing it.<br>
<br>
Klaus<br>
<blockquote cite="mid:547702F9.6050500@altherian.org" type="cite"> <br>
Max<br>
<div class="moz-cite-prefix">On 27/11/2014 11:32, Klaus Espenlaub
wrote:<br>
</div>
<blockquote cite="mid:5476FDB0.2080606@oracle.com" type="cite">
<meta content="text/html; charset=UTF-8"
http-equiv="Content-Type">
Yuryi,<br>
<div class="moz-cite-prefix">On 27.11.2014 10:26, Yuriy
Tretyakov wrote:<br>
</div>
<blockquote
cite="mid:1417078087.775972467.smyokwo5@frv45.fwdcdn.com"
type="cite"><span class="xfm_76659702">We need to run our code
under python 3.1 that's why we need to use suds here.
<div>Anyway we may face this situation without python at
all. I ran SOAP UI. I ran a list of command-one by one.</div>
</span></blockquote>
Ah, python 3.x support for the ZSI bindings is on the todo list,
unfortunately as always with far more work than developers...<br>
<blockquote
cite="mid:1417078087.775972467.smyokwo5@frv45.fwdcdn.com"
type="cite"><span class="xfm_76659702">
<div>I lock the machine and run ISession_getMachine.
webserver returned new mutable machine ID. <br>
Runing ISession_getType for my session id - I got </div>
<div><br>
</div>
<div><vbox:ISession_getTypeResponse>
<div> <returnval>WriteLock</returnval></div>
<div> </vbox:ISession_getTypeResponse></div>
<div><br>
</div>
<div>So machine is in mutable state now, right?</div>
</div>
</span></blockquote>
Yes and no. When there is a properly established session there
are two IMachine objects for every "VM", one readonly (the one
you'd get when digging out the IMachine object when there is no
session) and one mutable. You're definitely using the right one,
otherwise you wouldn't get the error message below. So that's
good news, your code for establishing the session etc. is
correct.<br>
<blockquote
cite="mid:1417078087.775972467.smyokwo5@frv45.fwdcdn.com"
type="cite"><span class="xfm_76659702">
<div>
<div>Runing IMachine_setHPETEnabled for mutable ID</div>
<div>
<_this>5f0fac6e7e0179b0-0000000000000011</_this></div>
<div> <HPETEnabled>true</HPETEnabled></div>
<div><br>
! </div>
got error VirtualBox error: rc=0x80bb0002 The machine is
not mutable (state is Saved)
(0x80bb0002)</faultstring></div>
</span></blockquote>
Ah, there you go. I asked you already what kind of snapshot
you're restoring - and it's clearly an online snapshot. In such
a case you can't change the settings, as the VM isn't powered
off. So as I suspected a few mails ago, your assumptions are
wrong.<br>
<br>
To repeat: a VM in state "Saved" can't be significantly
reconfigured, because it is logically still running, with the
entire hardware state saved (a bit like a hibernated PC, where
one also has to keep fingers off the hardware config). It's
simply not possible to enable HPET in this situation. It would
be if you throw away the saved state, but I'm not sure if that's
making the overall situation worse.<br>
<br>
So what you're seeing is 100% expected and correct behavior. The
only mystery is why the memory size can be changed, because that
shouldn't be possible either.<br>
<blockquote
cite="mid:1417078087.775972467.smyokwo5@frv45.fwdcdn.com"
type="cite"><span class="xfm_76659702">
<div>Just for your information. It seems to me a little
strange that when vbox server returning an error it used
not the same value in returnval as my mutable machine id.
It increased each time request being sent to server. Here
is what SOAP ui shows:</div>
<div><br>
</div>
<div>
<div>
<faultcode>SOAP-ENV:Client</faultcode><br>
</div>
<div> <faultstring>VirtualBox error:
rc=0x80bb0002 The machine is not mutable (state is
Saved) (0x80bb0002)</faultstring></div>
<div> <detail></div>
<div> <vbox:RuntimeFault></div>
<div>
<resultCode>-2135228414</resultCode></div>
<div> &! nbsp;
<returnval>5f0fac6e7e0179b0-0000000000000033</returnval></div>
<div> </vbox:RuntimeFault></div>
<div> </detail></div>
<div> </SOAP-ENV:Fault></div>
</div>
</span></blockquote>
I don't follow - the returned reference is not for IMachine, it
is an error object (IVirtualBoxError) which describes the error
in more detail than what the SOAP fault code can do. Each fault
creates a new error object, which explains why a new reference
is created.<br>
<br>
Phew, at least the biggest mystery is resolved.<br>
<br>
Klaus<br>
<blockquote
cite="mid:1417078087.775972467.smyokwo5@frv45.fwdcdn.com"
type="cite"><span class="xfm_76659702">
<div>
<div><br>
</div>
</div>
<div><br>
<br>
<div style="font-size:0.9em;font-style:italic;"> ---
Исходное сообщение ---<br>
От кого: "Klaus Espenlaub" <a moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="mailto:klaus.espenlaub@oracle.com"><klaus.espenlaub@oracle.com></a><br>
Дата: 26 ноября 2014, 17:53:21<br>
</div>
<br>
<blockquote class="xfmc1" style="border-left:1px solid
rgb(204, 204, 204);margin:0px 0px 0px
0.8ex;padding-left:1ex;"><span> <span></span> <span
bgcolor="#FFFFFF"> On 26.11.2014 16:09, Yuriy
Tretyakov wrote:<br>
<blockquote type="cite"><span>Hi Klaus.
<div>Thank you for your quick answer!</div>
<div>Sure, vm machine is turned off. I trying to
turn HPET on after snapshot is restored
(machine is down) but got this error.</div>
<div>And yes , as I understand from SDK, such
settings shall work with mutable machine.
Setting RAM size works fine, but HPET failed.</div>
<div>I specify that
IMachine_setCPUHotPlugEnabled doesn't work
this way. Few month ago we were try to set
videocapturing on and also no positive
results. Could it be a defect with processing
boolean values when we work with vboxwebsrv?</div>
</span></blockquote>
Can't tell from here what's "going over the wire"
with your code, but as long as the error message has
the word "mutable" in it I wouldn't expect trouble
with the parameters as such, more with the
references.<br>
<br>
Is there a particular reason why you can't/don't
want to use ZSI? It's what e.g. vboxshell.py uses if
one selects the webservice. It gives a nice, direct
python object interface to the API, and can also
talk to the local API when it runs on the same
system...<br>
<br>
Klaus<br>
<blockquote type="cite"><span>
<div><br>
</div>
<div>Regards,</div>
<div>Yuriy</div>
<div><br>
<br>
<div
style="font-size:0.9em;font-style:italic;">
--- Исходное сообщение ---<br>
От кого: "Klaus Espenlaub" <a
moz-do-not-send="true" class="xfmc2"
href="mailto:klaus.espenlaub@oracle.com"
target="_blank"><klaus.espenlaub@oracle.com></a><br>
Дата: 26 ноября 2014, 17:02:12<br>
</div>
<br>
<blockquote class="xfmc3"
style="border-left:1px solid rgb(204, 204,
204);margin:0px ! 0px 0px
0.8ex;padding-left:1ex;"><span> <span></span>
<span bgcolor="#FFFFFF"> Hi Yuriy,<br>
<div class="xfmc4">On 26.11.2014 15:42,
Yuriy Tretyakov wrote:<br>
</div>
<blockquote type="cite"><span>
<div
style="font-size:0.9em;font-style:italic;"><br>
</div>
<blockquote class="xfmc5"
style="border-left:1px solid
rgb(204, 204, 204);margin:0px 0px
0px 0.8ex;padding-left:1ex;"><span>
<p class="xfmc6">Hi Guys!</p>
<p class="xfmc6">Forum
moderator suggests me to
contact somebody from
developers to solve my problem
faster than waiting answer on
forum.</p>
<p class="xfmc6"><br>
I have a trouble setting
boolean values via SOAP for
VBOX.<br>
Actually, I need to set
IMachine_setHPETEnabled to
True programmatically, but
IMachine_setCPUHotPlugEnabled
also doesn't work.<br>
Trying to set these parameters
always follows with Machine is
not mutable error. But setting
of memory like in SDK example
works fine.<br>
What I'm actually do. I using
suds SOAP client library for
Python.<br>
</p>
</span></blockquote>
</span></blockquote>
This doesn't sound like a problem with
specific bindings to me (never used suds
though, only used ZSI as you can see in
the samples in the SDK). From the
symptoms you're using the wrong IMachine
reference. On the other hand, I can't
explain why setting the memory size with
the same reference works, it's doing the
exact same checks on the API
implementation side.<br>
<br>
Are you sure that the snapshot you are
restoring is an "offline" one, i.e. for
a powered off VM? Otherwise the VM is in
saved state, which means no significant
reconfiguration is possible (but again,
same rules for HPET and memory size...).<br>
<br>
Klaus </span></span> </blockquote>
</div>
</span></blockquote>
</span></span></blockquote>
</div>
</span></blockquote>
<br>
</blockquote>
</blockquote>
</body>
</html>