Details
-
Bug
-
Resolution: Fixed
-
Low
-
5.10.1.1, 5.10.3
-
None
-
Severity 3 - Minor
-
Description
Summary
Disabling agents via the Move Plans page redirects to Internal Server Error page.
Steps to Reproduce
- Go to Bamboo Admin >> Move Plans
- Press on disable all agents link in this warning
It is strongly recommended that you ensure that all agents are disabled before you perform the move. disable all agents
Expected Results
Agents should be disabled.
Actual Results
The below exception is thrown in the xxxxxxx.log file:
2016-04-13 19:57:36,438 ERROR [http-nio-8085-exec-22] [FiveOhOh] 500 Exception was thrown. java.lang.IllegalStateException: XSRF: A mutative operation was attempted on LocalAgentDefinitionImpl within a non-mutative HTTP request: http://hostname:8085/bamboo/admin/agent/configureAgents!deactivateAll.action?returnUrl=%2Fadmin%2FchooseBuildsToMove.action&class=mutative : [[Default Agent, , 2016-04-11 16:45:04.0, 2016-04-11 16:45:04.0, true, com.atlassian.bamboo.v2.build.agent.capability.LocalCapabilitySet{capabilities=[], capabilityScope=AGENT}]]-> ->[[Default Agent, , 2016-04-11 16:45:04.0, Wed Apr 13 19:57:36 MYT 2016, false, com.atlassian.bamboo.v2.build.agent.capability.LocalCapabilitySet{capabilities=[], capabilityScope=AGENT}]] at com.atlassian.bamboo.utils.XsrfUtils.fail(XsrfUtils.java:32) at com.atlassian.bamboo.hibernate.ReadOnlyGetMethodEnforcer.fail(ReadOnlyGetMethodEnforcer.java:113) at com.atlassian.bamboo.hibernate.ReadOnlyGetMethodEnforcer.onFlushDirty(ReadOnlyGetMethodEnforcer.java:62) at org.springframework.orm.hibernate.support.ChainedInterceptorSupport.onFlushDirty(ChainedInterceptorSupport.java:112) at org.hibernate.event.def.DefaultFlushEntityEventListener.invokeInterceptor(DefaultFlushEntityEventListener.java:372) at org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:349) at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:287) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:155) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133) at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:661) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:757) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:726) at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ... at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
Workaround
Disable the agents manually via the agents configuration page