All TeamCity build agents incompatible after upgrade to 2.4.5.46 of plugin

TeamCity configurations that make Octopus deployments were all working before I changed anything. I then upgraded Octopus from 2.3.x to 3.4.5.46 and installed the new plugin at the TeamCity server. I rebooted the TeamCity server. Now all the configurations say there are no compatible build agents. The error is: Incompatible runner: octopus.create.release.

How can I fix this?

Error from the log (using TeamCity 8.1.2 (build 29993), which is the latest):

[2014-05-15 06:06:41,247] ERROR - gins.spring.SpringPluginLoader - Failed to initialize spring context for plugin Octopus.TeamCity
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [octopus.teamcity.server.OctopusBuildRunTypeExtension] for bean with name ‘octopus.teamcity.server.OctopusBuildRunTypeExtension#0’ defined in plugin: Octopus.TeamCity#Octopus.TeamCity.jar!/META-INF/build-server-plugin-Octopus.TeamCity.xml: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: octopus/teamcity/server/OctopusBuildRunTypeExtension : Unsupported major.minor version 52.0
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1253)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1319)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:885)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at jetbrains.buildServer.plugins.spring.SpringPluginLoader.pluginClassesLoaded(SpringPluginLoader.java:72)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:117)
at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:67)
at com.sun.proxy.$Proxy7.pluginClassesLoaded(Unknown Source)
at jetbrains.buildServer.plugins.PluginManagerImpl$2.visitPlugin(PluginManagerImpl.java:122)
at jetbrains.buildServer.plugins.PluginsCollection.foreachLoadedPlugins(PluginsCollection.java:107)
at jetbrains.buildServer.plugins.PluginManagerImpl.firePluginClassesLoaded(PluginManagerImpl.java:120)
at jetbrains.buildServer.plugins.PluginManagerImpl.loadPlugins(PluginManagerImpl.java:80)
at jetbrains.buildServer.web.plugins.PluginManagerConfigurator.initializePlugins(PluginManagerConfigurator.java:9)
at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:105)
at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:0)
at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:83)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:613)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:486)
at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:448)
at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:450)
at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.UnsupportedClassVersionError: octopus/teamcity/server/OctopusBuildRunTypeExtension : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:71)
at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1271)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1242)
… 27 more

Fix for now is to downgrade TeamCity to the previous release version of Octopus. Need this fixed so we can upgrade to future versions with confidence.

I’m seeing this as well, and also found that the plugin downgrade on the TC server solved it for me. Thanks for posting.

Hi all,

Really sorry about this, we moved to a new build environment and upgraded the JDK on our build servers, which meant we were building the plugin using the wrong JDK version. We’ve released a new build which works - it’s on the downloads page or you can get it directly here:

http://octopusdeploy.com/downloads/latest/TeamCityPlugin

Sorry again, hope this helps.

Paul

Hi Paul, thanks, looks good! I’ve uncovered another upgrade issue possibly, I’ll send an email so it gets a separate ticket.

Louis