Find Questions…

Close ×
First time here? Check out the FAQ!

Windows elastic agent exception

Federico Spagnolini asked this question · 101 karma ·

Hi to all,

following instructions here, here , here , here... with many thanks to all contributors, I was finally able to setup an EC2 windows custom image that is able to setup a nightly build for one of our product using Visual Studio 2008 (a native Windows application).

Being a jira studio user jira and svn/fisheye integration works great so if a svn commit contains a reference to the jira issue bamboo is able to show issues resolved/related the that build but if the plan refers to issues the agent raise an exception receiving the jms build command thus aborting the build process, else the build will proceed as expected.

So the plan is executed only if it does not refer to jira issues/ svn changeset.

I've raised an support call to Atlassian but custom elastic images are not supported so I hope that here I can find some help.

Please note that, despite the exception, i've tested with agent 3.0.3, 3.0.4 (jira studio aligned release) and 3.0.5 obtaining always the same results. I've also used the default image for another (compatible) build without problems.

Exception detail:

org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491; nested exception is java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491
Caused by: javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491
	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
	at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:184)
	at org.springframework.jms.support.converter.SimpleMessageConverter.extractSerializableFromMessage(SimpleMessageConverter.java:222)
	at org.springframework.jms.support.converter.SimpleMessageConverter.fromMessage(SimpleMessageConverter.java:109)
	at org.springframework.jms.core.JmsTemplate.doConvertFromMessage(JmsTemplate.java:763)
	at org.springframework.jms.core.JmsTemplate.receiveSelectedAndConvert(JmsTemplate.java:742)
	at com.atlassian.bamboo.v2.build.queue.AgentQueueAccessorImpl.takeBuildContext(AgentQueueAccessorImpl.java:31)
	at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.getBuildContextFromQueue(BuildAgentControllerImpl.java:157)
	at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:65)
	at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:102)
	at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.InvalidClassException: com.atlassian.bamboo.author.AuthorImpl; local class incompatible: stream classdesc serialVersionUID = 2285217404304201742, local class serialVersionUID = 3058337970197016491
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at java.util.ArrayList.readObject(ArrayList.java:593)
	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 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:177)
	... 10 more

Any help, or just ideas appreciated!

Federico

374 views

One Answer:

Przemek Bruski [Atlassian] · 13,378 karma ·

This exception is only shown when the agent classes on the server do not match the classes server has. Have you copied the agent classes from a default Studio image?

Federico Spagnolini · 101 karma ·

Reasonably there is a mismatch... same error with 3.0.3, 3.0.4 (studio image) and 3.0.5 agent. I presume that the message used for plan referring to issues is slightly different; maybe (...well I hope...) that a specific agent configuration can drive the actual JMS message from the server...

Przemek Bruski [Atlassian] · 13,378 karma ·

bq. same error with 3.0.3, 3.0.4 (studio image)

You have the same error with an unmodified studio image?

Federico Spagnolini · 101 karma ·

Przemek,

?"unmodified studio image" Wath do you mean ?

I found 3.0.3 and 3.0.5 here, while the link to 3.0.4 was given to me by Atlassian as an answer to a raised issue on the problem.

I run builds against 303,3.0.4 and 3.0.5 obtaining always the same error. I did not track exact serial object id version but I think that all agent versions reported same ids

The agent log reports the exception while deserializing the message for the plan: reasonably the message contains stage/job instruction.

Przemek Bruski [Atlassian] · 13,378 karma ·

OK, let me rephrase. You've mentioned studio image. Are you a Bamboo Studio user? Or do you have a standalone Bamboo installation? If you have a standalone Bamboo installation, which version are you using?

Federico Spagnolini · 101 karma ·

I'm a Bamboo Studio user. I don't think that I will install something on site anymore... :-)

Przemek Bruski [Atlassian] · 13,378 karma ·

If you are a Bamboo Studio user, your installation should come with default images for Linux. Start a Linux instance, log into it and grab the assembly from /opt/bamboo-elastic-agent. If you use this assembly on Windows image, everything should work fine.

Federico Spagnolini · 101 karma ·

Przemek,

I get the same error even with jars taken from Default image: same wrong ids (both expected and received)

Do you have other ideas?

Przemek Bruski [Atlassian] · 13,378 karma ·

Checklist:

  1. you've taken the whole content of /opt/bamboo-elastic-agent from Studio image-based instance and put it on Windows EC2 instance.
  2. There were no other jars lying around from your previous attempts
  3. How do you start the agent?

Federico Spagnolini · 101 karma ·

Przemek,

ok So the problem was actually the step number 2 of your checklist.. an old jar not replaced by new versions. I just removed and recreated the folder and the problem disappear.

Thanks for your cooperation.

Federico

Looking for something else?

Find Questions…

or Browse other questions tagged:

or Ask a Question