TL; DR:
A post-build action was taken with a bash script that returned nothing using stderr or stdout in Jenkins. Therefore, at each start of the assembly, threads will be created and wait ing stuck. I solved this problem by getting bash script exit status.
long answer
I run Jenkins on CentOS and install via RPM. Regarding modifying the Winstone servlet container, you can change this in the Jenkin init script in /etc/sysctrl/jenkins . However, the above parameters control only the number of HTTP streams created, and not the total number of streams.
This would be a solution if my threads would freeze when accessing the Jenkins HTTP API as part of the post-commit action. However, using the always convenient monitoring plugin mentioned in my question, I checked for stuck threads.
Threads are stuck on something in the com.trilead.ssh2.channel package. The getChannelData method has a while(true) that looks for output in the stderr or stdout of the ssh stream. The thread was getting sucked in this cycle because nothing was happening. I found out about it on GrepCode .
This was because the post-build action was to execute the command through SSH on the server and execute a bash script that will check the git repository. However, the git repository was not configured correctly and the git command was a mistake, but the exit 1 status did not break through the bash script (partly due to the incorrectly formulated if-elif-else statement).
the script is complete and the build is deemed successful, but somehow the thread processing the Jenkins SSH connection remained hanging due to this git error.
But thanks for your help on this!
source share