[JIRA] (JENKINS-59169) JNLP4 Connect Error - Connection closed before acknowledgement sent

11 views
Skip to first unread message

peppe1977@gmail.com (JIRA)

unread,
Aug 31, 2019, 10:51:03 PM8/31/19
to jenkinsc...@googlegroups.com
Pedro Salomao created an issue
 
Jenkins / Bug JENKINS-59169
JNLP4 Connect Error - Connection closed before acknowledgement sent
Issue Type: Bug Bug
Assignee: Unassigned
Components: oauth-credentials-plugin
Created: 2019-09-01 02:50
Environment: Agent: OSX Mojave 10.14.5
Jenkins: Linux (Jenkins LTS 2.176.3)
Java on agent:
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b03)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b03, mixed mode)

Java on master:
java.runtime.name OpenJDK Runtime Environment
java.runtime.version 1.8.0_222-b10
java.version 1.8.0_222
java.vm.info mixed mode
java.vm.name OpenJDK 64-Bit Server VM
Priority: Blocker Blocker
Reporter: Pedro Salomao

This seems very similar to a recently closed #57143. We have spent quite a bit of time troubleshooting it though not able to find the root case. We had nginx and replace that by elb and both cases leads to same problem below. Please let me know what additional logs/info are needed and will provide. Any help/support/guidance is appreciated.

  1. netcat from slave towards master. 

$ nc -z jenkins.infrastructure.XXXXX.care 50000

Connection to jenkins.infrastructure.XXXXX.care port 50000 [tcp/*] succeeded!

#ELB

kubectl -n infrastructure get svc
infrastructure-nginx-ingress-internal-controller LoadBalancer 100.66.210.45 internal-ab39ee254472111e9aa5b0a4f0f93d47-951468028.us-east-1.elb.amazonaws.com 80:30664/TCP,443:30937/TCP,50000:32123/TCP 166d

  1. Logs

Aug 31, 2019 7:39:48 PM hudson.remoting.jnlp.Main createEngine

INFO: Setting up agent: ICL-Slave

Aug 31, 2019 7:39:48 PM hudson.remoting.jnlp.Main$CuiListener <init>

INFO: Jenkins agent is running in headless mode.

Aug 31, 2019 7:39:48 PM hudson.remoting.Engine startEngine

INFO: Using Remoting version: 3.29

Aug 31, 2019 7:39:48 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir

INFO: Using /Users/vmccbuild/jenkins/remoting as a remoting work directory

Aug 31, 2019 7:39:48 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Locating server among https://jenkins.infrastructure.xxxxx.care/

Aug 31, 2019 7:39:48 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve

INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]

Aug 31, 2019 7:39:48 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Agent discovery successful

  Agent address: jenkins.infrastructure.xxxxx.care

  Agent port:    50000

  Identity:      6b:c4:c2:2b:ed:b7:da:bc:72:58:c8:83:dd:d0:67:46

Aug 31, 2019 7:39:48 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Handshaking

Aug 31, 2019 7:39:48 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Connecting to jenkins.infrastructure.xxxxx.care:50000

Aug 31, 2019 7:39:49 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Trying protocol: JNLP4-connect

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Protocol JNLP4-connect encountered an unexpected exception

java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent

at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:223)

at hudson.remoting.Engine.innerRun(Engine.java:614)

at hudson.remoting.Engine.run(Engine.java:474)

Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent

at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckFilterLayer.java:280)

at org.jenkinsci.remoting.protocol.FilterLayer.abort(FilterLayer.java:164)

at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.access$000(AckFilterLayer.java:43)

at org.jenkinsci.remoting.protocol.impl.AckFilterLayer$1.run(AckFilterLayer.java:176)

at org.jenkinsci.remoting.protocol.IOHub$DelayedRunnable.run(IOHub.java:964)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)

at java.lang.Thread.run(Thread.java:748)

 

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Connecting to jenkins.infrastructure.xxxxx.care:50000

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Server reports protocol JNLP4-plaintext not supported, skipping

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Server reports protocol JNLP3-connect not supported, skipping

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Server reports protocol JNLP2-connect not supported, skipping

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener status

INFO: Server reports protocol JNLP-connect not supported, skipping

Aug 31, 2019 7:39:59 PM hudson.remoting.jnlp.Main$CuiListener error

SEVERE: The server rejected the connection: None of the protocols were accepted

java.lang.Exception: The server rejected the connection: None of the protocols were accepted

at hudson.remoting.Engine.onConnectionRejected(Engine.java:682)

at hudson.remoting.Engine.innerRun(Engine.java:639)

at hudson.remoting.Engine.run(Engine.java:474)

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

peppe1977@gmail.com (JIRA)

unread,
Sep 4, 2019, 1:23:02 PM9/4/19
to jenkinsc...@googlegroups.com
Pedro Salomao updated an issue
Change By: Pedro Salomao
Component/s: core
Component/s: oauth-credentials-plugin

peppe1977@gmail.com (JIRA)

unread,
Sep 4, 2019, 1:26:02 PM9/4/19
to jenkinsc...@googlegroups.com

peppe1977@gmail.com (JIRA)

unread,
Sep 4, 2019, 4:33:02 PM9/4/19
to jenkinsc...@googlegroups.com
Pedro Salomao updated an issue

Solution to this problem: tunnel through the ELB as to get slave/master connected. How to do this?

Go to Jenkins Master → Nodes → → Advanced → Tunnel: ernal-aef67c013ca2d11e9b6ab02485d01370-111334679.us-west-1.elb.amazonaws.com:50000 (Above takes for granted that security group/inbound has also been properly configured)

This assumes that you have already configured agent port static to 50000 - how? Jenkins -> global security -> Agents -> TCP port for inbound agents -> Fixed: 50000

peppe1977@gmail.com (JIRA)

unread,
Sep 4, 2019, 4:36:04 PM9/4/19
to jenkinsc...@googlegroups.com
Pedro Salomao resolved as Not A Defect
Change By: Pedro Salomao
Status: Open Resolved
Resolution: Not A Defect

nneul@neulinger.org (JIRA)

unread,
Dec 3, 2019, 7:14:06 PM12/3/19
to jenkinsc...@googlegroups.com
Nathan Neulinger commented on Bug JENKINS-59169
 
Re: JNLP4 Connect Error - Connection closed before acknowledgement sent

I realize this has already been closed - but just had to go through a big diag effort on my site with a bunch of windows JNLP agents that stopped working sometime in past few days.

After a long set of rabbit trails - what I found in my case – the problem wound up being reverse DNS resolution stopped working (unrelated local problem – "It's always DNS", right?) - but that inability to reverse resolve the connecting client (windows box) was causing the JNLP server side to drop the connection. 

Just wanted to add this here in case it helps anyone else with future similar issues if it happens to be related.

This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages