Agent hangs during "Registering agent on the server" if bamboo.delete.remote.agents.on.going.offline=true

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Low
    • 10.2.1
    • Affects Version/s: 10.2.0, 9.6.9, 10.1.1
    • Component/s: Agents
    • None
    • 1
    • Severity 2 - Major
    • 2

      Issue Summary

      This is reproducible on Data Center:

      When the Bamboo system property bamboo.delete.remote.agents.on.going.offline=true, Agents can't "come back" from an unexpected failure in the Java application (such as an OOM, disconnection, or inadvertently kill)

      This is especially harmful if some major Network outage forces multiple Agents to restart; then Agents will fail to sign in to Bamboo and builds will not be retaken, generating a significant impact.

      Steps to Reproduce

      1. Configure Bamboo with bamboo.delete.remote.agents.on.going.offline=true
      2. Install and run a Remote Agent
      3. Kill the Agent's Java pid (not the wrapper pid), or run a build that will produce an OOM and affect the Agent java's process, or drop the Network connection to the Server
      4. Observe the Wrapper restarting the Agent's process
      5. Monitor the Agent logs for Registering agent on the server messages

      Expected Results

      1. The Agent should be able to register with the server without errors and continue operations, or at least allow a new authentication process to happen as if it were a new Agent.
      2. The Agent removal in the Server should not happen immediately, allowing flaky Agents to come back in case of network or application issues.

      Actual Results

      The Agent registration hangs and builds are affected.

      Server logs - Removing Agent
      2024-12-21 23:59:08,838 WARN [scheduler_Worker-6] [RemoteAgentManagerImpl] Detected that remote agent 'd_bamboo1002_agent1' has been inactive since 2024-12-21T23:58:03.079+1100
      2024-12-21 23:59:08,838 WARN [scheduler_Worker-6] [RemoteAgentManagerImpl] Marking remote agent 'd_bamboo1002_agent1 (2)' as unresponsive
      2024-12-21 23:59:38,841 WARN [scheduler_Worker-11] [RemoteAgentManagerImpl] Detected that remote agent 'd_bamboo1002_agent1' has been inactive since 2024-12-21T23:58:03.079+1100
      2024-12-21 23:59:38,841 WARN [scheduler_Worker-11] [RemoteAgentManagerImpl] Remote agent 'd_bamboo1002_agent1' was unresponsive and has gone offline.
      2024-12-21 23:59:38,843 INFO [scheduler_Worker-11] [AgentManagerImpl] No deployments running on agent d_bamboo1002_agent1
      2024-12-21 23:59:38,843 INFO [scheduler_Worker-11] [AgentManagerImpl] No builds running on agent d_bamboo1002_agent1
      2024-12-21 23:59:38,850 INFO [AtlassianEvent::1-BAM::EVENTS:pool-2-thread-27] [AgentManagerImpl] Attempting to remove build agent... 
      2024-12-21 23:59:38,862 INFO [AtlassianEvent::1-BAM::EVENTS:pool-2-thread-54] [BuildQueueManagerImpl] Recalculating executables for agent [d_bamboo1002_agent1]
      
      Agent logs
      2024-12-22 00:00:54,970 INFO [AgentRunnerThread] [AgentRegistrationBean] Current agent remote definition: d_bamboo1002_agent1 Remote agent on host d_bamboo1002_agent1
      2024-12-22 00:00:55,199 INFO [AgentRunnerThread] [AgentRegistrationBean] Registering agent on the server,
      <Then it hangs "forever">
      
      Server logs - Registration failed
      2024-12-22 00:00:55,434 ERROR [ActiveMQ Session Task-49] [BatchingBatch] HHH000315: Exception executing batch [org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?], SQL: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?
      2024-12-22 00:00:55,446 INFO [ActiveMQ Session Task-49] [RemoteAgentManagerImpl] Registration attempt rejected with a message: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?
      2024-12-22 00:00:55,446 WARN [ActiveMQ Session Task-49] [RemoteInvocationTraceInterceptor] Processing of BambooJmsInvokerServiceExporter remote call resulted in fatal exception: com.atlassian.bamboo.buildqueue.manager.RemotedRemoteAgentManager.registerAgent
      org.springframework.orm.hibernate5.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?
      	at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:254) ~[spring-orm-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:785) ~[spring-orm-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:657) ~[spring-orm-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:744) ~[spring-tx-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:712) ~[spring-tx-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
      	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:234) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at jdk.proxy3/jdk.proxy3.$Proxy153.commit(Unknown Source) ~[?:?]
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) ~[spring-tx-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) ~[spring-tx-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at jdk.proxy3/jdk.proxy3.$Proxy273.savePipeline(Unknown Source) ~[?:?]
      	at com.atlassian.bamboo.buildqueue.manager.RemoteAgentManagerImpl$ReturningAgentPipelineDefinitionVisitor.visitRemote(RemoteAgentManagerImpl.java:339) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.v2.build.agent.RemoteAgentDefinitionImpl.accept(RemoteAgentDefinitionImpl.java:53) ~[atlassian-bamboo-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.buildqueue.manager.RemoteAgentManagerImpl.registerReturningAgent(RemoteAgentManagerImpl.java:348) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.buildqueue.manager.RemoteAgentManagerImpl.registerAgent(RemoteAgentManagerImpl.java:156) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.buildqueue.manager.RemoteAgentManagerImpl.registerAgent(RemoteAgentManagerImpl.java:141) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
      	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:80) ~[spring-context-5.3.39.jar:5.3.39]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	at jdk.proxy3/jdk.proxy3.$Proxy340.registerAgent(Unknown Source) ~[?:?]
      	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
      	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
      	at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:215) ~[spring-context-5.3.39.jar:5.3.39]
      	at org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:39) ~[spring-context-5.3.39.jar:5.3.39]
      	at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78) ~[spring-context-5.3.39.jar:5.3.39]
      	at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114) ~[spring-context-5.3.39.jar:5.3.39]
      	at org.springframework.jms.remoting.JmsInvokerServiceExporter.onMessage(JmsInvokerServiceExporter.java:106) ~[spring-jms-5.3.39.jar:5.3.39]
      	at com.atlassian.bamboo.remoting.BambooJmsInvokerServiceExporter.onMessage(BambooJmsInvokerServiceExporter.java:17) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.spring.MessageListenerUtils.lambda$wrapWithServerFingerprintCheck$0(MessageListenerUtils.java:23) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.spring.MessageListenerUtils.wrapWithServerFingerprintCheck(MessageListenerUtils.java:58) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.spring.MessageListenerUtils.lambda$wrapWithServerFingerprintCheck$1(MessageListenerUtils.java:24) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:645) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:345) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.SimpleMessageListenerContainer.lambda$createListenerConsumer$2(SimpleMessageListenerContainer.java:322) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1434) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) ~[activemq-client-5.18.3.jar:5.18.3]
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
      	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
      Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update QUEUE set TITLE=?, AGENT_DESCRIPTION=?, CREATED_DATE=?, UPDATED_DATE=?, ENABLED=?, EPHEMERAL_AGT_JOB_KEY=?, LAST_START_TIME=?, LAST_STOP_TIME=?, UUID=?, CAPABILITY_SET=? where QUEUE_ID=?
      	at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:67) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:54) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.checkRowCounts(BatchingBatch.java:155) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.performExecution(BatchingBatch.java:130) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.doExecuteBatch(BatchingBatch.java:110) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.execute(AbstractBatchImpl.java:153) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.getBatch(JdbcCoordinatorImpl.java:187) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3513) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3438) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3870) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:202) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:986) ~[?:?]
      	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:344) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1407) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:489) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3303) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2438) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:449) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) ~[hibernate-core-5.6.15.Final-atlassian-2.jar:5.6.15.Final-atlassian-2]
      	at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:645) ~[spring-orm-5.3.39-atlassian-3.jar:5.3.39-atlassian-3]
      	... 52 more
      2024-12-22 00:00:55,447 WARN [ActiveMQ Session Task-49] [BambooServerSimpleMessageListenerContainer] Execution of JMS message listener failed, and no ErrorHandler has been set.
      java.lang.reflect.InaccessibleObjectException: Unable to make field private static final long java.lang.reflect.InvocationTargetException.serialVersionUID accessible: module java.base does not "opens java.lang.reflect" to unnamed module @38e6326
      	at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391) ~[?:?]
      	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367) ~[?:?]
      	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:315) ~[?:?]
      	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:183) ~[?:?]
      	at java.base/java.lang.reflect.Field.setAccessible(Field.java:177) ~[?:?]
      	at com.thoughtworks.xstream.converters.reflection.FieldDictionary.buildDictionaryEntryForClass(FieldDictionary.java:187) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.FieldDictionary.buildMap(FieldDictionary.java:153) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.FieldDictionary.fieldsFor(FieldDictionary.java:81) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:167) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:101) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:90) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.extended.ThrowableConverter.marshal(ThrowableConverter.java:62) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:59) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:83) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshallField(AbstractReflectionConverter.java:270) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:174) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:262) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:90) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:59) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:44) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:83) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.XStream.marshal(XStream.java:1307) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.XStream.marshal(XStream.java:1296) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.XStream.toXML(XStream.java:1269) ~[xstream-1.4.21.jar:1.4.21]
      	at com.thoughtworks.xstream.XStream.toXML(XStream.java:1256) ~[xstream-1.4.21.jar:1.4.21]
      	at com.atlassian.bamboo.remoting.SpringRemotingMessageConverter.toXML(SpringRemotingMessageConverter.java:60) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.remoting.SpringRemotingMessageConverter.toMessage(SpringRemotingMessageConverter.java:42) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at org.springframework.jms.remoting.JmsInvokerServiceExporter.createResponseMessage(JmsInvokerServiceExporter.java:163) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.remoting.JmsInvokerServiceExporter.writeRemoteInvocationResult(JmsInvokerServiceExporter.java:138) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.remoting.JmsInvokerServiceExporter.onMessage(JmsInvokerServiceExporter.java:107) ~[spring-jms-5.3.39.jar:5.3.39]
      	at com.atlassian.bamboo.remoting.BambooJmsInvokerServiceExporter.onMessage(BambooJmsInvokerServiceExporter.java:17) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.spring.MessageListenerUtils.lambda$wrapWithServerFingerprintCheck$0(MessageListenerUtils.java:23) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.spring.MessageListenerUtils.wrapWithServerFingerprintCheck(MessageListenerUtils.java:58) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at com.atlassian.bamboo.spring.MessageListenerUtils.lambda$wrapWithServerFingerprintCheck$1(MessageListenerUtils.java:24) ~[atlassian-bamboo-agent-core-10.2.1-SNAPSHOT.jar:?]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:645) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:345) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.springframework.jms.listener.SimpleMessageListenerContainer.lambda$createListenerConsumer$2(SimpleMessageListenerContainer.java:322) ~[spring-jms-5.3.39.jar:5.3.39]
      	at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1434) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) ~[activemq-client-5.18.3.jar:5.18.3]
      	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) ~[activemq-client-5.18.3.jar:5.18.3]
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
      	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
      

      Workaround

      1. Reinstall the Agent, including cleaning its home directory
        or
      2. Delete or set the property -Dbamboo.delete.remote.agents.on.going.offline=false system property on the server and restart Bamboo (and Agents)

              Assignee:
              Mateusz Szmal
              Reporter:
              Eduardo Alvarenga (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: