Jenkins slave jobs failing on “Unexpected termination of channel”

后端 未结 10 1208
梦毁少年i
梦毁少年i 2020-12-24 10:42

I am currently seeing a set of errors across my builds.

Is this expected behaviour if you loose Jenkins (say to a box crash, or a kill -9)?

Or is there somet

相关标签:
10条回答
  • 2020-12-24 11:20

    I had similar issues with Jenkins Slaves terminating when I upgraded Jenkins to version 2.9.2 from 2.1.5.

    All issues related to upgrade like unexpected termination of Slave fixed by installing Java 8 version on Centos.

    yum install java-1.8.0-openjdk-devel

    0 讨论(0)
  • 2020-12-24 11:22

    Another thing where you can see this error (which actually leads to this) is lack of memory/cpu cores for build. I spent some time testing it, and resolved this issue on our site by increasing java heap size (and as well adding more memory to machines), increasing number of cores (so one machine have at least 4G of RAM with two cores available with one build slot), and also do some tuning (if you are on linux) number of open file descriptors and processes which can be run concurrently.

    0 讨论(0)
  • 2020-12-24 11:24

    The version of java has to be 1.6 (latest) or newer for Jenkins 1.531 that I am using.

    For one of my slave nodes I found that I had to set the Java path in the 'Launch method' Advanced button 'JavaPath' for the node before this would work correctly. The issue was that the node kept using an older version of Java which I was not able to upgrade.

    0 讨论(0)
  • 2020-12-24 11:25

    IF you are using aws ELB for jenkins master and jenkins slave communication ELB Idle time is causing this issue. Please go and update your idle time using http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html#config-idle-timeout-console

    Set it to more than 60 seconds

    0 讨论(0)
  • 2020-12-24 11:26

    On CentOS Linux 7, I found that the Jenkins slave doesn't work with OpenJDK. I tried Java 7 and 8. It requires Oracle Java.

    So, if you're on Linux, install Oracle Java, and set the path to point to it. You can do this in a number of ways, e.g.:

    • Set $JAVA_HOME for the user you're launching the slave as, and add it to $PATH.
    • Use update-alternatives to set the default java.
    • Set JavaPath, under the node's Advanced settings in Jenkins.
    0 讨论(0)
  • 2020-12-24 11:31

    I know this question is kind of old but I came across this problem the other day.

    For me the problem was occurring during the install of the JDK. The install failed because the security settings of Windows were set so the notification box that says: "You need to give permission for this operation" was popping up, causing the install to fail.

    I changed the notification settings to "Never notify" and it solved this issue.

    0 讨论(0)
提交回复
热议问题