Errors when starting the VMWare cloud plugin

I have been playing with the VMware cloud plugin and about a week or so ago, it used to run absolutely fine, but since last Friday, I have been getting errors when I start the plugin-client.  The particular error I'm getting seems to be XML related, but I'm not entirely certain why the error is generated as my XML file hasn't really changed from before when it ran smoothly and booted up the VM just fine.  Here's the error from the log:

[2013-08-05 12:46:45,719]   INFO - uds.vmware.client.LoggingVMRun - Server version is: 42
[2013-08-05 12:46:46,069]   INFO - uds.vmware.client.LoggingVMRun - Client version is: 42
[2013-08-05 12:47:00,744]   INFO - uds.vmware.client.LoggingVMRun - Computing local images...
[2013-08-05 12:47:00,747]   INFO - uds.vmware.client.LoggingVMRun - Found 1 local images
[2013-08-05 12:47:03,751]   INFO - uds.vmware.client.LoggingVMRun - Pinging running instances...
[2013-08-05 12:47:03,834]   INFO - are.vmrun.local.LocalVMCommand - Starting command: "C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe" -T player list
[2013-08-05 12:47:06,398]   INFO - are.vmrun.local.LocalVMCommand - Result: Total running VMs: 0
[2013-08-05 12:47:06,398]   INFO - are.vmrun.local.LocalVMCommand - Result:  
[2013-08-05 12:47:06,399]   INFO - are.vmrun.local.LocalVMCommand - Code: 0
[2013-08-05 12:47:06,399]   INFO - uds.vmware.client.LoggingVMRun - Found 0 running instances
[2013-08-05 12:47:12,807]   WARN - are.vmrun.remote.client.Client - Failed to fetch task list. TreeMap does not contain <comparator> element
---- Debugging information ----
class               : jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask
required-type       : java.util.TreeMap
path                : /jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask/myParameters/jetbrains.buildServer.clouds.CloudInstanceUserData/myCustomAgentConfigurationParameters/entry
line number         : 25
-------------------------------
com.thoughtworks.xstream.converters.ConversionException: TreeMap does not contain <comparator> element
---- Debugging information ----
class               : jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask
required-type       : java.util.TreeMap
path                : /jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask/myParameters/jetbrains.buildServer.clouds.CloudInstanceUserData/myCustomAgentConfigurationParameters/entry
line number         : 25
-------------------------------
     at com.thoughtworks.xstream.converters.collections.TreeMapConverter.unmarshal(TreeMapConverter.java:77)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
     at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
     at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
     at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
     at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
     at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
     at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
     at com.thoughtworks.xstream.XStream.fromXML(XStream.java:845)
     at jetbrains.buildServer.clouds.vmware.vmrun.remote.xmlrpc.XmRpcClient.getTasks(XmRpcClient.java:51)
     at jetbrains.buildServer.clouds.vmware.vmrun.remote.client.Client$1.run(Client.java:56)
     at jetbrains.buildServer.util.ExceptionUtil$1.run(ExceptionUtil.java:37)
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:662)
[2013-08-05 12:47:15,842]   WARN - are.vmrun.remote.client.Client - Failed to fetch task list. TreeMap does not contain <comparator> element
---- Debugging information ----
class               : jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask
required-type       : java.util.TreeMap
path                : /jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask/myParameters/jetbrains.buildServer.clouds.CloudInstanceUserData/myCustomAgentConfigurationParameters/entry
line number         : 25
-------------------------------
com.thoughtworks.xstream.converters.ConversionException: TreeMap does not contain <comparator> element
---- Debugging information ----
class               : jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask
required-type       : java.util.TreeMap
path                : /jetbrains.buildServer.clouds.vmware.vmrun.remote.RemoteTask/myParameters/jetbrains.buildServer.clouds.CloudInstanceUserData/myCustomAgentConfigurationParameters/entry
line number         : 25
-------------------------------
     at com.thoughtworks.xstream.converters.collections.TreeMapConverter.unmarshal(TreeMapConverter.java:77)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
     at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
     at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
     at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
     at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
     at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
     at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
     at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
     at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
     at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
     at com.thoughtworks.xstream.XStream.fromXML(XStream.java:845)
     at jetbrains.buildServer.clouds.vmware.vmrun.remote.xmlrpc.XmRpcClient.getTasks(XmRpcClient.java:51)
     at jetbrains.buildServer.clouds.vmware.vmrun.remote.client.Client$1.run(Client.java:56)
     at jetbrains.buildServer.util.ExceptionUtil$1.run(ExceptionUtil.java:37)
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:662)

It keeps looping with this error.  The command I'm using to run the plugin-client is:

D:\VM\teamcity-vmware-client>java -jar cloud-vmware-client.jar /server:http://server_ip/teamcity /vmrun:"C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe" /store:"d:\VM\"


I'm running the client from my VM directory which is in D:\VM\ and the XML files also resides there.  Here's my XML file:

<jetbrains.buildServer.clouds.vmware.settings.VMImageInfo>   <!-- virtual machine unique id -->   <myId>mdb_agent_1</myId>   <!-- local path to .vmx file -->   <myImagePath>D:\VM\TCVM_1-2013-07-22\MDB_1.vmx</myImagePath>   <!-- path to buildAgent.properties inside the virtual machine -->   <myImageAgentConfigLocation>/tools/teamcity/conf/buildAgent.properties</myImageAgentConfigLocation>   <!-- login/password for the virtual machine administrator account -->   <myUserName>admin</myUserName>   <myPassword>password</myPassword> </jetbrains.buildServer.clouds.vmware.settings.VMImageInfo>


any assistance to figure out what's the problem will be highly appreciated.

Thank you

AM

4 comments
Comment actions Permalink

Just some version info:

Teamcity Version: 8.0.1 (build27435)
Java version on the client machine:  1.6.0_25  (but I have tried from a different machien with a different version as well)
Java version on the server: 1.7.0
Cloudplugin version downloaded from Teamcity artifacts (on 7.1x as the 8.0.x does not have a succesful build).  

I was pointed to a link on the forums which talked about a similar problem and it all came down to xstream version being too old or not compatible.  Again, any assistance would be really appreciated as to what we need to do to get this running.


[edit: also downloaded the artifacts of 7.0.x as well, and the same error no matter what client version it is]

0
Comment actions Permalink

Just keeping track of changes done. Updated my JDK :
java version: "1.7.0_25", Runtime Environment : build 1.7.0_25-b17 and ended up with the same error again.

0
Comment actions Permalink

As suspected, the problem is definitely with the XSTREAM jar.  Just for testing purposes I downloaded the latest jar from Xstream website and replaced the one in the plugin-client's lib directory with the one I downloaded and everything worked just fine.  

0
Comment actions Permalink

I'm kinda surprised at the time it takes to get answers here, but regardless, I was able to solve this issue and now I am looking to build the plugin myself to get the latest Xstream jar included in there so I can deploy it on more agents to run tests and see how many VMs can I run at the same time.  I am looking to get more info on the build-environment required or how I would go about building it, any documentation that I could be pointed to please for help on building this plugin myself?

Thank you in advance


AM

0

Please sign in to leave a comment.