Hi folks,
>From the 1.487 changelog:
* JNLP Slave agent on OS X can install itself as a launchd service.
I believe this is the cause of the exceptions I'm now seeing when my
master node attempts to connect to an OS X slave:
java.io.IOException: Remote call on osx-x86 failed
at hudson.remoting.Channel.call(Channel.java:673)
at org.jenkinsci.modules.launchd_slave_installer.
ComputerListenerImpl.onOnline(ComputerListenerImpl.java:30)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:396)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:317)
at hudson.plugins.sshslaves.SSHLauncher.startSlave(
SSHLauncher.java:454)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:293)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:200)
at java.util.concurrent.FutureTask$Sync.innerRun(
FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.InternalError: Can't connect to window server -
not enough permissions.
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at sun.security.action.LoadLibraryAction.run(
LoadLibraryAction.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
at java.awt.Component.<clinit>(Component.java:566)
at org.jenkinsci.modules.launchd_slave_installer.
LaunchdSlaveInstaller.call(LaunchdSlaveInstaller.java:53)
at org.jenkinsci.modules.launchd_slave_installer.
LaunchdSlaveInstaller.call(LaunchdSlaveInstaller.java:35)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(
InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(
FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.
runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
[10/27/12 20:47:14] [SSH] Connection closed.
ERROR: Connection terminated
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(
SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(
ObjectInputStream.java:2570)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.
java:1314)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at hudson.remoting.Command.readFrom(Command.java:90)
at hudson.remoting.ClassicCommandTransport.read(
ClassicCommandTransport.java:59)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(
SynchronousCommandTransport.java:48)
ERROR: [10/27/12 20:47:14] slave agent was terminated
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(
SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(
ObjectInputStream.java:2570)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.
java:1314)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at hudson.remoting.Command.readFrom(Command.java:90)
at hudson.remoting.ClassicCommandTransport.read(
ClassicCommandTransport.java:59)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(
SynchronousCommandTransport.java:48)
Can I somehow disable this? I don't want it to be installed as a
launchd service and, as seen in the exception stack trace, it can't
actually start the installer. The machine is not a regular OS X
machine but an Xserve, so this GUI business is a bad idea.
Thanks in advance,
Alex