The most common issue is related to disconnections because there is no 
traffic between the Jenkins instance and the agent, for that, you have to 
tune the TCP stack of your OS (see 
https://support.cloudbees.com/hc/en-us/articles/115001369667-dedicated-SSH-agents-formerly-slaves-get-disconnected),
 
or enable the keepalive option in the SSH protocol this can be configured 
by setting ClientAliveInterval or TCPKeepAlive on the SSH server 
(/etc/ssh/sshd_config), also by setting ServerAliveInterval or TCPKeepAlive 
options for the user connection (/etc/ssh/ssh_config or ~/.ssh/ssh_config)

https://www.freebsd.org/cgi/man.cgi?sshd_config(5)
https://www.freebsd.org/cgi/man.cgi?ssh_config(5)

Also, check you follow the best practices to configure your SSH agents and 
enable SSH verbose log output in your service (see 
https://github.com/jenkinsci/ssh-slaves-plugin/blob/master/doc/TROUBLESHOOTING.md)

El miércoles, 9 de diciembre de 2020 a las 17:53:19 UTC+1, 
jiga...@gmail.com escribió:

> Hello Jenkins community, 
>
> I have setup Jenkins agents over SSH and this agent frequently goes 
> offline with Resource temporarily unavailable error. I had to configure my 
> Jenkins agents to communicate over JNLP. Any advise on how to fix this 
> issue?
>
> Jenkins v2.249.1
>
> [12/04/20 15:23:00] [SSH] Checking java version of java
> [12/04/20 15:23:01] [SSH] java -version returned 1.8.0_202.
> [12/04/20 15:23:01] [SSH] Starting sftp client.
> [12/04/20 15:23:03] [SSH] Remote file system root $JENKINS_SSH_DATA does 
> not exist. Will try to create it...
> [12/04/20 15:23:03] [SSH] Copying latest remoting.jar...
> [12/04/20 15:23:03] [SSH] Copied 1,521,553 bytes.
> Expanded the channel window size to 4MB
> [12/04/20 15:23:03] [SSH] Starting agent process: cd "$JENKINS_SSH_DATA" 
> && java  -jar remoting.jar -workDir $JENKINS_SSH_DATA -jar-cache 
> $JENKINS_SSH_DATA/remoting/jarCache
> Dec 04, 2020 3:23:29 PM org.jenkinsci.remoting.engine.WorkDirManager 
> initializeWorkDir
> INFO: Using $JENKINS_SSH_DATA/remoting as a remoting work directory
> Dec 04, 2020 3:23:29 PM org.jenkinsci.remoting.engine.WorkDirManager 
> setupLogging
> INFO: Both error and output logs will be printed to 
> $JENKINS_SSH_DATA/remoting
> <===[JENKINS REMOTING CAPACITY]===>channel started
> Remoting version: 4.5
> This is a Unix agent
> Evacuated stdout
> Agent successfully connected and online
> The Agent is connected, disconnect it before to try to connect it again.
> Dec 04, 2020 3:33:58 PM org.eclipse.jgit.util.FS discoverGitSystemConfig
> WARNING: Exception caught during execution of command '[git, config, 
> --system, --edit]' in '$GIT_PATH/bin', return code '128', error message 
> 'fatal: Invalid path '$GIT_PATH/etc': No such file or directory
> '
> Dec 04, 2020 3:33:58 PM org.eclipse.jgit.util.FS$FileStoreAttributes 
> saveToConfig
> WARNING: locking FileBasedConfig[$JENKINS_PATH/.config/jgit/config] failed 
> after 5 retries
> Dec 04, 2020 3:33:59 PM org.jenkinsci.remoting.util.AnonymousClassWarnings 
> warn
> WARNING: Attempt to (de-)serialize anonymous class 
> com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTriggerBuildChooser$1;
>  
> see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
> Dec 04, 2020 3:34:24 PM hudson.remoting.Request$2 run
> WARNING: Failed to send back a reply to the request 
> hudson.remoting.Request$2@493c5a4e
> java.io.IOException: Resource temporarily unavailable
>     at java.io.FileOutputStream.writeBytes(Native Method)
>     at java.io.FileOutputStream.write(FileOutputStream.java:313)
>     at 
> hudson.remoting.StandardOutputStream.write(StandardOutputStream.java:83)
>     at 
> hudson.remoting.ChunkedOutputStream.sendFrame(ChunkedOutputStream.java:89)
>     at 
> hudson.remoting.ChunkedOutputStream.sendBreak(ChunkedOutputStream.java:62)
>     at 
> hudson.remoting.ChunkedCommandTransport.writeBlock(ChunkedCommandTransport.java:46)
>     at 
> hudson.remoting.AbstractSynchronousByteArrayCommandTransport.write(AbstractSynchronousByteArrayCommandTransport.java:46)
>     at hudson.remoting.Channel.send(Channel.java:766)
>     at hudson.remoting.Request$2.run(Request.java:388)
>     at 
> hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     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)
>  
> Dec 04, 2020 5:25:30 PM hudson.remoting.Request$2 run
> WARNING: Failed to send back a reply to the request 
> hudson.remoting.Request$2@2511e2d4
> java.io.IOException: Resource temporarily unavailable
>     at java.io.FileOutputStream.writeBytes(Native Method)
>     at java.io.FileOutputStream.write(FileOutputStream.java:326)
>     at 
> hudson.remoting.StandardOutputStream.write(StandardOutputStream.java:88)
>     at 
> hudson.remoting.ChunkedOutputStream.sendFrame(ChunkedOutputStream.java:90)
>     at 
> hudson.remoting.ChunkedOutputStream.drain(ChunkedOutputStream.java:85)
>     at 
> hudson.remoting.ChunkedOutputStream.write(ChunkedOutputStream.java:54)
>     at java.io.OutputStream.write(OutputStream.java:75)
>     at 
> hudson.remoting.ChunkedCommandTransport.writeBlock(ChunkedCommandTransport.java:45)
>     at 
> hudson.remoting.AbstractSynchronousByteArrayCommandTransport.write(AbstractSynchronousByteArrayCommandTransport.java:46)
>     at hudson.remoting.Channel.send(Channel.java:766)
>     at hudson.remoting.Request$2.run(Request.java:388)
>     at 
> hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     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)
>  
> ERROR: Connection terminated
> java.io.StreamCorruptedException: invalid stream header: 00025B42
>     at 
> java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866)
>     at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
>     at 
> hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49)
>     at hudson.remoting.Command.readFrom(Command.java:142)
>     at hudson.remoting.Command.readFrom(Command.java:128)
>     at 
> hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35)
>     at 
> hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)
> Dec 04, 2020 5:32:30 PM hudson.slaves.ChannelPinger$1 onDead
> INFO: Ping failed. Terminating the channel channel.
> java.util.concurrent.TimeoutException: Ping started at 1607120910589 
> hasn't completed by 1607121150590
>     at hudson.remoting.PingThread.ping(PingThread.java:134)
>     at hudson.remoting.PingThread.run(PingThread.java:90)
>
> Thanks,
> Jigar R
>
>

-- 
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/0cca6599-cdb2-4dc2-a7df-d756e4e793b3n%40googlegroups.com.

Reply via email to