Hi all,
We are using version 2.150.1 of Jenkins
We use kubernetes(plugin version 1.13.7) to run our build pods. The jnlp 
container image is jenkinsci/jnlp-slave:3.26-1-alpine

Our jenkinsfile is as follows:
  stages {
    stage('Update Environment') {
      steps {
        container('devenv') {
            sh "./test.py"
            sh "./nextjob.py"
        }
      }
    }
  }

test.py is as follows:
cnt = 0
while cnt < 10:
    time.sleep(180)
    print "Sleep "+str(cnt)
    cnt = cnt + 1

We see the following error message on the build log while test.py is 
executing
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at okio.Okio$2.read(Okio.java:139)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at okio.RealBufferedSource.request(RealBufferedSource.java:67)
at okio.RealBufferedSource.require(RealBufferedSource.java:60)
at okio.RealBufferedSource.readByte(RealBufferedSource.java:73)
at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:113)
at 
okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:97)
at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:265)
at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:204)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Sleep 0
Sleep 1
Sleep 2
Sleep 3
Sleep 4
Sleep 5
Sleep 6
Sleep 7
Sleep 8
Sleep 9

Once test.py execution is complete, the build is failed and nextjob.py 
never executes.

I made a modification to test.py to flush stdout after each print
cnt = 0
while cnt < 10:
    time.sleep(180)
    print "Sleep "+str(cnt)
    sys.stdout.flush()
    cnt = cnt + 1

Everything seems ok! Somehow flushing stdout every 3 minutes or so seems to 
keep the jnlp connection between master and slave up...
The master and the slave are in AWS and are on the same VPC subnet(Dont 
believe that these connections go through any stateful network services 
that can induce resets on idle connections). I don't see much logs of note( 
I may also not be looking at the right ones) on the jenkins master. Are 
there any debugs we can enable on the master to understand what is 
happening? Is this behavior perhaps expected (the build step should not be 
too silent for a long time?)

Help would be much appreciated

Thanks
Sudharsan

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/5c3ea136-8c6a-49ec-aa93-ea330d1d5204%40googlegroups.com.

Reply via email to