Deploy war/ear to tomcat failed

Jenkins 2.361.2, tomcat is 9.x, Deploy to container Plugin Version 1.16
and jdk is 8.

the error is:

10:56:23   Deploying [/home/jenkins/workspace/Branch/Sprint72/wars/xx.war]
10:56:23 ERROR: Build step failed with exception
10:56:23 org.codehaus.cargo.container.ContainerException: Failed to deploy [/home/jenkins/workspace/Branch/Sprint72/wars/xx.war]
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:104)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:172)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136)
10:56:23 	at hudson.FilePath.act(FilePath.java:1192)
10:56:23 	at hudson.FilePath.act(FilePath.java:1175)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133)
10:56:23 	at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95)
10:56:23 	at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113)
10:56:23 	at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
10:56:23 	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80)
10:56:23 	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47)
10:56:23 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
10:56:23 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
10:56:23 	at hudson.model.Build$BuildExecution.post2(Build.java:179)
10:56:23 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
10:56:23 	at hudson.model.Run.execute(Run.java:1924)
10:56:23 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
10:56:23 	at hudson.model.ResourceController.execute(ResourceController.java:107)
10:56:23 	at hudson.model.Executor.run(Executor.java:449)
10:56:23 Caused by: java.io.IOException: Error writing request body to server
10:56:23 	at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3668)
10:56:23 	at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3651)
10:56:23 	at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
10:56:23 	at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:127)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.pipe(TomcatManager.java:827)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:574)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:767)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:312)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:99)
10:56:23 	... 20 more
10:56:23 java.io.IOException: Error writing request body to server
10:56:23 	at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3668)
10:56:23 	at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3651)
10:56:23 	at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
10:56:23 	at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:127)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.pipe(TomcatManager.java:827)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:574)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:767)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:312)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:99)
10:56:23 	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:172)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136)
10:56:23 	at hudson.FilePath.act(FilePath.java:1192)
10:56:23 	at hudson.FilePath.act(FilePath.java:1175)
10:56:23 	at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133)
10:56:23 	at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95)
10:56:23 	at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113)
10:56:23 	at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
10:56:23 	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80)
10:56:23 	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47)
10:56:23 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
10:56:23 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
10:56:23 	at hudson.model.Build$BuildExecution.post2(Build.java:179)
10:56:23 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
10:56:23 	at hudson.model.Run.execute(Run.java:1924)
10:56:23 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
10:56:23 	at hudson.model.ResourceController.execute(ResourceController.java:107)
10:56:23 	at hudson.model.Executor.run(Executor.java:449)
10:56:23 Build step 'Deploy war/ear to a container' marked build as failure
10:56:23 Finished: FAILURE

there is no problem before, but now this error happens.
however if I restart tomcat, and re-deploy, it can be success.

how can I debug and solve this problem?

This looks similar to JENKINS-10320, maybe some answers in this issue can help you?

You should always check the Release notes[1]:

Upgrading to Jenkins 2.361.1
Jenkins requires Java 11 or newerBlockquote

[1] Upgrading to Jenkins LTS 2.361.x

1 Like