-
Bug
-
Resolution: Fixed
-
Major
-
-
Jenkins 2.177, LTS 2.176.1
Throwing an exception in ComputerListener.onOnline should not take a node offline:
core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164
However, there a number of issues filed that show exceptions in onOnline not being handled, the latest being one in branch-api:
jenkinsci/branch-api-plugin PR #142
Here is the code used in on the Master node and the related test:
core/src/main/java/jenkins/model/Jenkins.java#L979-L993
test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487
Here is the code in SlaveComputer.setChannel() and the test file showing no test:
core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698
test/src/test/java/hudson/slaves/SlaveComputerTest.java
NOTE: the Jenkins.java code is not correct either since it will swallow more than the contract specifies - including NullPointerException for example. Also, it should probably be a WARNING rather than SEVERE.
- causes
-
JENKINS-34044 EC2 Plugin: Windows: java.io.IOException: Pipe closed
-
- Resolved
-
-
JENKINS-55597 Jenkins JNLP agent disconnects when it fails to delete an old build workspace
-
- Resolved
-
-
JENKINS-34625 Selenium plugin kills connection to slaves on jenkins restart
-
- Resolved
-
-
JENKINS-51863 EC2 Plugin: Connectivity issues
-
- Resolved
-
- links to
[JENKINS-57111] Base class setChannel does not handle exceptions from onOnline call
Link |
New:
This issue causes |
Link |
New:
This issue causes |
Link |
New:
This issue causes |
Link |
New:
This issue causes |
Description |
Original:
Throwing an exception in ComputerListener.onOnline should not take a node offline: [https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164|core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164] However, there a number of issues filed that show exceptions in onOnline not being handled, the latest being one in branch-api: https://github.com/jenkinsci/branch-api-plugin/pull/142 Here is the code used in on the Master node and the related test: https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/jenkins/model/Jenkins.java#L979-L993 https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487 Here is the code in hudson.slaves.SlaveComputer.setChannel and the test file showing no test: https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698 https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/hudson/slaves/SlaveComputerTest.java#L45 NOTE: the Jenkins.java code is not correct either since it will swallow more than the contract specifies - including NullPointerException for example. Also, it should probably be a WARNING rather than SEVERE. |
New:
Throwing an exception in ComputerListener.onOnline should not take a node offline: [core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164] However, there a number of issues filed that show exceptions in onOnline not being handled, the latest being one in branch-api: [https://github.com/jenkinsci/branch-api-plugin/pull/142] Here is the code used in on the Master node and the related test: [core/src/main/java/jenkins/model/Jenkins.java#L979-L993|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/jenkins/model/Jenkins.java#L979-L993] [test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487] Here is the code in SlaveComputer.setChannel() and the test file showing no test: [core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698] [test/src/test/java/hudson/slaves/SlaveComputerTest.java|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/hudson/slaves/SlaveComputerTest.java] NOTE: the Jenkins.java code is not correct either since it will swallow more than the contract specifies - including NullPointerException for example. Also, it should probably be a WARNING rather than SEVERE. |
Description |
Original:
Throwing an exception in ComputerListener.onOnline should not take a node offline: [core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164] However, there a number of issues filed that show exceptions in onOnline not being handled, the latest being one in branch-api: [https://github.com/jenkinsci/branch-api-plugin/pull/142] Here is the code used in on the Master node and the related test: [core/src/main/java/jenkins/model/Jenkins.java#L979-L993|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/jenkins/model/Jenkins.java#L979-L993] [test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487] Here is the code in SlaveComputer.setChannel() and the test file showing no test: [core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698] [test/src/test/java/hudson/slaves/SlaveComputerTest.java|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/hudson/slaves/SlaveComputerTest.java] NOTE: the Jenkins.java code is not correct either since it will swallow more than the contract specifies - including NullPointerException for example. Also, it should probably be a WARNING rather than SEVERE. |
New:
Throwing an exception in ComputerListener.onOnline should not take a node offline: [core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164] However, there a number of issues filed that show exceptions in onOnline not being handled, the latest being one in branch-api: [jenkinsci/branch-api-plugin PR #142|https://github.com/jenkinsci/branch-api-plugin/pull/142] Here is the code used in on the Master node and the related test: [core/src/main/java/jenkins/model/Jenkins.java#L979-L993|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/jenkins/model/Jenkins.java#L979-L993] [test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487] Here is the code in SlaveComputer.setChannel() and the test file showing no test: [core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698] [test/src/test/java/hudson/slaves/SlaveComputerTest.java|https://github.com/jenkinsci/jenkins/blob/2767b00146ce2ff2738b7fd7c6db95a26b8f9f39/test/src/test/java/hudson/slaves/SlaveComputerTest.java] NOTE: the Jenkins.java code is not correct either since it will swallow more than the contract specifies - including NullPointerException for example. Also, it should probably be a WARNING rather than SEVERE. |
Assignee | New: Liam Newman [ bitwiseman ] |