Resolution
Enabling deploy on save now in the Agent Setups section in Manage Jenkins->Confifure System causes the hang to occur.
If you need this feature of the Agent Setup plugin the hang will occur, but it does eventually complete.
Generating a Support Bundle while the hang is occurring and reviewing the thread-dump.txt file in the
nodes/master directory will show a thread with stack trace similar to:
"Handling POST /jenkins/configSubmit from xx.xxx.xx.xx : http-bio-8543-exec-14 / waiting for hudson.remoting.Channel@3e5c3dac:obucds309p.dev.ch3.s.com" #63527 daemon prio=5 os_prio=0 tid=0x00007ffaf003d800 nid=0x6c2f in Object.wait() [0x00007ffaf4820000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at hudson.remoting.Request.call(Request.java:147) - locked <0x00000006c356ba48> (a hudson.remoting.UserRequest) at hudson.remoting.Channel.call(Channel.java:780) at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:250) at com.sun.proxy.$Proxy75.join(Unknown Source) at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:992) at hudson.Launcher$ProcStarter.join(Launcher.java:389) at org.jenkinsci.plugins.slave_setup.SetupDeployer.executeScript(SetupDeployer.java:136) at org.jenkinsci.plugins.slave_setup.SetupDeployer.deployToComputer(SetupDeployer.java:95) at org.jenkinsci.plugins.slave_setup.SetupDeployer.deployToComputers(SetupDeployer.java:156) at org.jenkinsci.plugins.slave_setup.SetupConfig.configure(SetupConfig.java:62) at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2923) at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2886) - locked <0x00000006cb2ada18> (a hudson.model.Hudson)
This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.