[vbox-dev] ISession API problem
Andrea Turli
andrea.turli at gmail.com
Mon Sep 17 07:37:20 PDT 2012
Hi all,
looking at the documentation of void IMachine::lockMachine (in
ISession session, in LockType lockType) here
https://www.virtualbox.org/sdkref/interface_i_machine.html#af28da645b00a821547d9cb8e92f8b7b0
it seems that there are 2 strategies
lockType
if set to Write, then attempt to acquire an exclusive write lock or fail.
If set to Shared, then either acquire an exclusive write lock or
establish a link to an existing session.
In my test I lockSession with Write type and then I was trying to lock
with Shared type the same machine, but I get an exception
java.lang.RuntimeException: error locking
jclouds-image-0x0-machine-utils-live-test with Shared lock: VirtualBox
error: The given session is busy (0x80BB0007)
at org.jclouds.virtualbox.util.MachineUtils.lockSession(MachineUtils.java:241)
at org.jclouds.virtualbox.util.MachineUtils.lockSessionOnMachineAndApply(MachineUtils.java:198)
at org.jclouds.virtualbox.util.MachineUtils.sharedLockMachineAndApplyToSession(MachineUtils.java:176)
at org.jclouds.virtualbox.util.MachineUtilsLiveTest.sharedSession(MachineUtilsLiveTest.java:146)
at org.jclouds.virtualbox.util.MachineUtilsLiveTest.access$0(MachineUtilsLiveTest.java:145)
at org.jclouds.virtualbox.util.MachineUtilsLiveTest$3.apply(MachineUtilsLiveTest.java:135)
at org.jclouds.virtualbox.util.MachineUtilsLiveTest$3.apply(MachineUtilsLiveTest.java:1)
at org.jclouds.virtualbox.util.MachineUtils.lockSessionOnMachineAndApply(MachineUtils.java:200)
at org.jclouds.virtualbox.util.MachineUtils.writeLockMachineAndApplyToSession(MachineUtils.java:130)
at org.jclouds.virtualbox.util.MachineUtilsLiveTest.sharedLockCanBeAcquiredAfterWriteLockSessionOnMachine(MachineUtilsLiveTest.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:701)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:893)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1218)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:768)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
at org.testng.TestNG.run(TestNG.java:1022)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:109)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:202)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:173)
Caused by: org.virtualbox_4_1.VBoxException: VirtualBox error: The
given session is busy (0x80BB0007)
at org.virtualbox_4_1.IMachine.lockMachine(IMachine.java:2072)
at org.jclouds.virtualbox.util.MachineUtils.lockSession(MachineUtils.java:231)
... 33 more
What am I missing?
Thanks.
Andrea
More information about the vbox-dev
mailing list