OSX Jenkins Slave termina com java.io.IOException: finalização inesperada do canal, apesar de correr "sem cabeça"

0

Estamos executando o mestre Jenkins na máquina Win e adicionamos o escravo do Mac OS X, executado via ssh no Mac remoto. Já é bem sabido que este cenário requer que o comando slave seja lançado com java -Djava.awt.headless=true ou a conexão será terminada com java.io.IOException: Unexpected termination of the channel. Apesar disso, ainda temos essa exceção. Estranho é que a exceção não é lançada após um período de tempo constante - em uma compilação, é 30 minutos, em outros 45 minutos. O que pode estar errado?

Anexando log (IPs e URLs adicionalmente desconfigurados)

[11/14/13 16:08:11] [SSH] Opening SSH connection to our.macos.machine:22.
[11/14/13 16:08:12] [SSH] Authentication successful.
[11/14/13 16:08:12] [SSH] The remote users environment is:
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_EXECUTION_STRING=set
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="48" [3]="1" [4]="release" [5]="x86_64-apple-darwin12")
BASH_VERSION='3.2.48(1)-release'
DIRSTACK=()
EUID=503
GROUPS=()
HOME=/Users/hudson
HOSTNAME=our.macos.machine
HOSTTYPE=x86_64
IFS=$' \t\n'
LOGNAME=hudson
MACHTYPE=x86_64-apple-darwin12
MAIL=/var/mail/hudson
OPTERR=1
OPTIND=1
OSTYPE=darwin12
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PPID=93411
PS4='+ '
PWD=/Users/hudson
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
SSH_CLIENT='xxx.xxx.xxx.xxx 49852 22'
SSH_CONNECTION='xxx.xxx.xxx.xxx 49852 yyy.yyy.yyy.yyy 22'
TERM=dumb
TMPDIR=/var/folders/hg/298vj1kd4yj_f73tgbh6n0hr0000gq/T/
UID=503
USER=hudson
_=bash
[11/14/13 16:08:12] [SSH] Checking java version of java
[11/14/13 16:08:12] [SSH] java -version returned 1.7.0_40.
[11/14/13 16:08:12] [SSH] Starting sftp client.
[11/14/13 16:08:12] [SSH] Copying latest slave.jar...
[11/14/13 16:08:12] [SSH] Copied 346 309 bytes.
Expanded the channel window size to 4MB
[11/14/13 16:08:12] [SSH] Starting slave process: cd '/Users/hudson/build' && java -Djava.awt.headless=true -jar slave.jar
<===[JENKINS REMOTING CAPACITY]===>channel started
Slave.jar version: 2.32
This is a Unix slave
Evacuated stdout
Slave successfully connected and online
lef
fonte

Respostas: