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
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?
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...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
bq. same error with 3.0.3, 3.0.4 (studio image)
You have the same error with an unmodified studio image?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm a Bamboo Studio user. I don't think that I will install something on site anymore... :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Checklist:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.